Modular Verification of Static Class Invariants

作者: K. Rustan M. Leino , Peter Müller

DOI: 10.1007/11526841_4

关键词:

摘要: Object invariants describe the consistency of object-oriented data structures and are central to reasoning about correctness software. But object not only conditions on which a program may depend. The in programs consists just fields, but also static hold that is shared among objects. fields described by class invariants, enforced at level. Static can mention instance describing dynamic rooted fields. Sometimes there even relate many or all objects class; these relations, too, since they cannot be any one isolation. This paper presents systematic way (a methodology) for specifying verifying programs. methodology supports three major uses Java library. amenable static, modular verification sound.

参考文章(22)
K. Rustan M. Leino, Peter Müller, Modular verification of global module invariants in object-oriented programs Technical Report / ETH Zurich, Department of Computer Science. ,vol. 459, ,(2004) , 10.3929/ETHZ-A-006775256
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
Bertrand Meyer, Eiffel: The Language ,(1991)
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
Arnd Poetzsch-Heffter, Peter Müller, A Programming Logic for Sequential Java european symposium on programming. pp. 162- 176 ,(1999) , 10.1007/3-540-49099-X_11
Mike Barnett, K. Rustan M. Leino, Wolfram Schulte, The Spec# Programming System: An Overview Construction and Analysis of Safe, Secure, and Interoperable Smart Devices. ,vol. 3362, pp. 49- 69 ,(2005) , 10.1007/978-3-540-30569-9_3
Lilian Burdy, Yoonsik Cheon, David R. Cok, Michael D. Ernst, Joseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, Erik Poll, An overview of JML tools and applications formal methods for industrial critical systems. ,vol. 7, pp. 212- 232 ,(2005) , 10.1007/S10009-004-0167-4
Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, Raymie Stata, Extended static checking for Java Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation - PLDI '02. ,vol. 37, pp. 234- 245 ,(2002) , 10.1145/512529.512558
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
David G Clarke, John M Potter, James Noble, None, Ownership types for flexible alias protection Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '98. ,vol. 33, pp. 48- 64 ,(1998) , 10.1145/286936.286947