2004
DOI: 10.5381/jot.2004.3.6.a2
|View full text |Cite
|
Sign up to set email alerts
|

Verification of Object-Oriented Programs with Invariants.

Abstract: An object invariant defines what it means for an object's data to be in a consistent state. Object invariants are central to the design and correctness of objectoriented programs. This paper defines a programming methodology for using object invariants. The methodology, which enriches a program's state space to express when each object invariant holds, deals with owned object components, ownership transfer, and subclassing, and is expressive enough to allow many interesting object-oriented programs to be speci… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

2
233
0
1

Year Published

2005
2005
2012
2012

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 238 publications
(236 citation statements)
references
References 39 publications
2
233
0
1
Order By: Relevance
“…Class invariants are often captured using universal/existential quantifiers over object extents (e.g. [3,30,34,35]). Queries provide a natural approach to checking these invariants.…”
Section: Querying Object Extentsmentioning
confidence: 99%
“…Class invariants are often captured using universal/existential quantifiers over object extents (e.g. [3,30,34,35]). Queries provide a natural approach to checking these invariants.…”
Section: Querying Object Extentsmentioning
confidence: 99%
“…Equivalence then serves as basis for a suitable notion of simulation with which we justify observationally pure expressions in specifications. Our formulation is compatible with extant encapsulation systems for specific object-oriented languages, such as Ownership Types (Clarke et al, 2001;Clarke and Drossopoulou, 2002) and assertion-based ownership (Barnett et al, 2004a).…”
Section: Introductionmentioning
confidence: 79%
“…There has been considerable work refining and extending ownership encapsulation to encompass a wide variety of design patterns in object oriented programs (Müller, 2002;Clarke and Drossopoulou, 2002;Boyapati et al, 2003;Barnett et al, 2004a;Naumann and Barnett, 2006). Much of this work focuses on object invariants but, for the most part, what works for invariants works for simulations as demonstrated by Banerjee and Naumann (2005a,c).…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…In [6] a methodology for program specification and verification is proposed, whereby an object's invariants may depend on (possibly indirectly) owned objects. The state space of programs is enriched to express whether an object's validity holds (i.e., whether its invariant holds); there is support for explicitly altering an object validity, and explicit ownership transfer.…”
Section: Hierarchic Shapes For Program Verificationmentioning
confidence: 99%