2007
DOI: 10.1007/s00165-006-0020-5
|View full text |Cite
|
Sign up to set email alerts
|

On assertion-based encapsulation for object invariants and simulations

Abstract: Abstract. In object-oriented programming, reentrant method invocations and shared references make it difficult to achieve adequate encapsulation for sound modular reasoning. This tutorial paper surveys recent progress using auxiliary state (ghost fields) to describe and achieve encapsulation. Encapsulation is assessed in terms of modular reasoning about invariants and simulations.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
7
0

Year Published

2008
2008
2015
2015

Publication Types

Select...
3
1

Relationship

2
2

Authors

Journals

citations
Cited by 4 publications
(7 citation statements)
references
References 70 publications
0
7
0
Order By: Relevance
“…An example is a queue, where neither the left nor the right end of the queue conceptually dominates the other in a hierarchy. As a result, a number of extensions or alterations of Boogie have been developed which aim to deal with the inflexibility of the hierarchy structures (e.g., [Naumann andBarnett 2004a, 2004b;Leino and Müller 2004]). We refer to the survey article [Naumann 2007] for further information and references concerning work on Boogie and other work on specifying object-oriented programs.…”
Section: Resultsmentioning
confidence: 99%
“…An example is a queue, where neither the left nor the right end of the queue conceptually dominates the other in a hierarchy. As a result, a number of extensions or alterations of Boogie have been developed which aim to deal with the inflexibility of the hierarchy structures (e.g., [Naumann andBarnett 2004a, 2004b;Leino and Müller 2004]). We refer to the survey article [Naumann 2007] for further information and references concerning work on Boogie and other work on specifying object-oriented programs.…”
Section: Resultsmentioning
confidence: 99%
“…Liskov and Wing's discussion implies that "the invariant" is what the programmer declares and reasons about. This is broken in unrestricted OO languages, because of sharing and reentrance [31,32,34,38]. We illustrate these problems below.…”
Section: Invariants and Behavioral Subtypingmentioning
confidence: 99%
“…That is the topic of this section, which focuses on object invariants. More extensive discussions and citations on these topics can be found in Müller's VSTTE paper [31] and my survey paper [33].…”
Section: Heap Encapsulation Using Auxiliary Statementioning
confidence: 99%
“…Some additional challenges pertinent to objectoriented programming, but not tied to the main theme, are discussed in Section 4. A detailed tutorial on the state-based approach to encapsulation advocated here appears elsewhere [33].Several near-term challenges (1-5 years) are presented here in the setting of sequential object-oriented programs. Because the approach taken here is based on the use of assertions, it is also quite relevant to verification of concurrent object-oriented programs and low level imperative code.…”
mentioning
confidence: 99%
See 1 more Smart Citation