Our system is currently under heavy load due to increased usage. We're actively working on upgrades to improve performance. Thank you for your patience.
2004
DOI: 10.1007/978-3-540-24851-4_22
|View full text |Cite
|
Sign up to set email alerts
|

Object Invariants in Dynamic Contexts

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

1
124
0

Year Published

2005
2005
2023
2023

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 154 publications
(125 citation statements)
references
References 16 publications
1
124
0
Order By: Relevance
“…Most of them employ the intermediate languages Boogie [18] or Why [10]. Chalice and VeriCool support implicit dynamic frames (in Chalice with fractional permissions), Dafny supports dynamic frames, and Spec# and VCC support ownership [19].…”
Section: Related Workmentioning
confidence: 99%
“…Most of them employ the intermediate languages Boogie [18] or Why [10]. Chalice and VeriCool support implicit dynamic frames (in Chalice with fractional permissions), Dafny supports dynamic frames, and Spec# and VCC support ownership [19].…”
Section: Related Workmentioning
confidence: 99%
“…The verifiers above that provide hiding enforce specific encapsulation disciplines through some combination of type checking and extra verification conditions. For example, the Boogie methodology [25] used by Spec# stipulates intermediate assertions (in all code) that guarantees an all-states ownership invariant. Another version of Spec# [38] generates verification conditions at intermediate steps to approximate read footprints, in addition to the usual end-to-end check that a method body satisfies its modifies specification.…”
Section: Related Workmentioning
confidence: 99%
“…A number of ownership disciplines from the literature are studied as instances of the framework. The framework encompasses variations on the idea that invariants hold exactly when control crosses module boundaries, e.g., visible state semantics requires all invariants to hold on all public method call/return boundaries; other proposals require invariants to hold more often [25] or less [39]. The difficulty of generalizing ownership to fit important design patterns led Parkinson and Bierman [5,32] to pursue abstraction instead of hiding, via second order assertions in separation logic; this has been implemented [10].…”
Section: Related Workmentioning
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%
“…Spec# does not use a visible state semantics for invariants. Instead, invariants are checked at designated pack statements [18]. Since Spec# does not enforce Rule 6, client code has to be re-verified when an invariant is changed.…”
Section: Related Workmentioning
confidence: 99%