Invariants for Non-Hierarchical Object Structures

作者: Ronald Middelkoop , Cornelis Huizing , Ruurd Kuiper , Erik J. Luit

DOI: 10.1016/J.ENTCS.2007.08.034

关键词:

摘要: We present a Hoare-style specification and verification approach for invariants in sequential OO programs. It allows over non-hierarchical object structures, which update patterns that span several objects methods occur frequently. This gives rise to invalidating subsequent re-establishing of way compromises standard data induction, assumes hold when method is called. provide constructs (inc coop) identify involved such patterns, allowing refined form induction. The now handles practical designs, as illustrated by the Observer Pattern.

参考文章(19)
Matthew Parkinson, Gavin Bierman, Separation logic and abstraction Sigplan Notices. ,(2005) , 10.1145/1047659.1040326
Mike Barnett, David A. Naumann, Friends Need a Bit More: Maintaining Invariants Over Shared State mathematics of program construction. pp. 54- 84 ,(2004) , 10.1007/978-3-540-27764-4_5
K. Rustan M. Leino, Peter Müller, Object Invariants in Dynamic Contexts european conference on object-oriented programming. ,vol. 3086, pp. 491- 515 ,(2004) , 10.1007/978-3-540-24851-4_22
Bertrand Meyer, Object-Oriented Software Construction, 2nd Edition Prentice-Hall. ,(1997)
Richard Helm, John Vlissides, Ralph Johnson, Erich Gamma, Design Patterns: Elements of Reusable Object-Oriented Software ,(1994)
Barbara H. Liskov, Jeannette M. Wing, A behavioral notion of subtyping ACM Transactions on Programming Languages and Systems. ,vol. 16, pp. 1811- 1841 ,(1994) , 10.1145/197320.197383
Peter Müller, Arnd Poetzsch-Heffter, Gary T. Leavens, Modular invariants for layered object structures Science of Computer Programming. ,vol. 62, pp. 253- 286 ,(2006) , 10.1016/J.SCICO.2006.03.001
K. R Leino, Towards Reliable Modular Programs California Institute of Technology. ,(1995)
C. A. R. Hoare, Proof of Correctness of Data Representations Software Pioneers. pp. 385- 396 ,(2002) , 10.1007/978-3-642-59412-0_24