2006
DOI: 10.1016/j.scico.2006.03.001
|View full text |Cite
|
Sign up to set email alerts
|

Modular invariants for layered object structures

Abstract: Classical specification and verification techniques support invariants for individual objects whose fields are primitive values, but are unsound for invariants involving more complex object structures. However, such non-trivial object structures are common, and occur in lists, hash tables, and when systems are built in layers.We generalize classical techniques to cover such layered object structures using a refined semantics for invariants based on an ownership model for alias control. This semantics enables s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
84
0

Year Published

2006
2006
2010
2010

Publication Types

Select...
6
1

Relationship

3
4

Authors

Journals

citations
Cited by 106 publications
(84 citation statements)
references
References 29 publications
0
84
0
Order By: Relevance
“…A number of methodologies have been proposed for ownership-based hiding of invariants (e.g., [28]). Drossopoulou et al [11] introduce a general framework to describe verification techniques for invariants.…”
Section: Related Workmentioning
confidence: 99%
“…A number of methodologies have been proposed for ownership-based hiding of invariants (e.g., [28]). Drossopoulou et al [11] introduce a general framework to describe verification techniques for invariants.…”
Section: Related Workmentioning
confidence: 99%
“…In this paper, we use a visible state semantics [26]; that is, invariants have to hold in all visible states. The notion of a visible state is determined by the specification language.…”
Section: Object Invariantsmentioning
confidence: 99%
“…See our earlier work [18,26] for a discussion of invariants for aggregate objects. Moreover, we do not consider method calls in invariants.…”
Section: Object Invariantsmentioning
confidence: 99%
See 1 more Smart Citation
“…However, the necessity to explicitly manipulate an object's validity increases the overhead of verification; therefore, [23] defines implicitly in which execution states an object's invariants must hold, based on an ownership model which is enforced by the type system.…”
Section: Hierarchic Shapes For Program Verificationmentioning
confidence: 99%