ACM Home Page
Please provide us with feedback. Feedback
Class-local object invariants
Full text PdfPdf (229 KB)
Source
India Software Engineering Conference archive
Proceedings of the 1st conference on India software engineering conference table of contents
Hyderabad, India
SESSION: Object oriented analysis table of contents
Pages 57-66  
Year of Publication: 2008
ISBN:978-1-59593-917-3
Authors
K. Rustan M. Leino  Microsoft Research, Redmond, WA
Angela Wallenburg  Chalmers University of Technology, Göteborg, Sweden
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 18,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1342211.1342225
What is a DOI?

ABSTRACT

The correctness of object-oriented programs relies on object invariants. A system for verifying such programs requires a systematic method for coping with object invariants that can be violated temporarily. This paper describes a sound methodology for flexibly changing data locally in object structures, supporting programming patterns that occur frequently in practice. In more detail, to handle subclasses, previous approaches have been geared toward programs that update the fields of an object only in overridable virtual methods of the object. The enhanced methodology in this paper handles field updates in a much more flexible way. The flexibility can be applied to a field in the common case where the field is not mentioned in subclass invariants


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Mike Barnett, Bor-Yuh Evan Chang, Robert DeLine, Bart Jacobs, and KRustan M. Leino. Boogie: A modular reusable verifier for object-oriented programs. In Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, and Willem-Paul de Roever, editors, Formal Methods for Components and Objects: 4th International Symposium, FMCO 2005, volume 4111 of Lecture Notes in Computer Science, pages 364--387. Springer, September 2006.
 
2
Mike Barnett, Robert DeLine, Manuel Fähndrich, KRustan M. Leino, and Wolfram Schulte. Verification of object-oriented programs with invariants. Journal of Object Technology, 3(6):27--56, 2004.
 
3
Mike Barnett, KRustan M. Leino, and Wolfram Schulte. The Spec# programming system: An overview. In Gilles Barthe, Lilian Burdy, Marieke Huisman, Jean-Louis Lanet, and Traian Muntean, editors, CASSIS 2004, Construction and Analysis of Safe, Secure and Interoperable Smart devices, volume 3362 of Lecture Notes in Computer Science, pages 49--69. Springer, 2005.
 
4
Mike Barnett and David A. Naumann. Friends need a bit more: Maintaining invariants over shared state. In Dexter Kozen and Carron Shankland, editors, Mathematics of Program Construction, 7th International Conference, MPC 2004, volume 3125 of Lecture Notes in Computer Science, pages 54--84. Springer, July 2004.
 
5
Andrew D. Birrell. An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center, January 1989.
6
 
7
8
 
9
Ádám Darvas and KRustan M. Leino. Practical reasoning about invocations and implementations of pure methods. In Matthew B. Dwyer and Antónia Lopes, editors, Fundamental Approaches to Software Engineering, 10th International Conference, FASE 2007, volume 4422 of Lecture Notes in Computer Science, pages 336--351. Springer, March 2007.
 
10
 
11
Bart Jacobs and Frank Piessens. Verification of programs with inspector methods. In Workshop on Formal Techniques for Java-like Programs (FTfJP 2006), July 2006.
 
12
Bart Jacobs, Jan Smans, Frank Piessens, and Wolfram Schulte. A statically verifiable programming model for concurrent object-oriented programs. In Zhiming Liu and Jifeng He, editors, Formal Methods and Software Engineering, 8th International Conference on Formal Engineering Methods, ICFEM 2006, volume 4260 of Lecture Notes in Computer Science, pages 420--439. Springer, November 2006.
 
13
Ioannis T. Kassios. Dynamic frames: Support for framing, dependencies and sharing without restrictions. In Jayadev Misra, Tobias Nipkow, and Emil Sekerinski, editors, FM 2006: Formal Methods, 14th International Symposium on Formal Methods, volume 4085 of Lecture Notes in Computer Science, pages 268--283. Springer, August 2006.
 
14
K. Rustan M. Leino and Peter Müller. Object invariants in dynamic contexts. In Martin Odersky, editor, ECOOP 2004 -- Object-Oriented Programming, 18th European Conference, volume 3086 of Lecture Notes in Computer Science, pages 491--516. Springer, June 2004.
 
15
K. Rustan M. Leino and Peter Müller. Modular verification of static class invariants. In John Fitzgerald, Ian J. Hayes, and Andrzej Tarlecki, editors, FM 2005: Formal Methods, International Symposium of Formal Methods Europe, volume 3582 of Lecture Notes in Computer Science, pages 26--42. Springer, July 2005.
 
16
K. Rustan M. Leino and Wolfram Schulte. Using history invariants to verify observers. In Rocco De~Nicola, editor, Programming Languages and Systems, 16th European Symposium on Programming, ESOP 2007, volume 4421 of Lecture Notes in Computer Science, pages 80--94. Springer, March 2007.
 
17
Ronald Middelkoop, Cornelis Huizing, Ruurd Kuiper, and Erik Luit. Invariants for non-hierarchical object structures. In Anamaria Martins Moreira and Leila Ribeiro, editors, Brazilian Symposium on Formal Methods, SBMF 2006, pages 233--248. SBC, September 2006.
 
18
Peter Müller. Modular Specification and Verification of Object-Oriented Programs, volume 2262 of Lecture Notes in Computer Science. Springer-Verlag, 2002.
 
19
Peter Müller and Arnd Poetzsch-Heffter. Universes: A type system for alias and dependency control. Technical Report 279, FernUniversität Hagen, 2001.
 
20
21


Collaborative Colleagues:
K. Rustan M. Leino: colleagues
Angela Wallenburg: colleagues