|
ABSTRACT
This paper explores the interpretation of specifications in the context of an object-oriented programming language with subclassing and method overrides. In particular, the paper considers annotations for describing what variables a method may change and the interpretation of these annotations. The paper shows that there is a problem to be solved in the specification of methods whose overrides may modify additional state introduced in subclasses. As a solution to this problem, the paper introduces data groups, which enable modular checking and rather naturally capture a programmer's design decisions.
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.
| |
AdB94
|
Pierre America and Frank de Boer. Reasoning about dynamically evolving process structures. Formal Aspects of Computing, 60):269- 316, 1994.
|
| |
AL97
|
|
| |
CBS98
|
|
| |
Det96
|
David L. Detlefs. An overview of the Extended Static Checking system. In Proceedings of The First Workshop on Formal Methods in Software Practice, pages 1-9. ACM SIGSOFT, January 1996.
|
| |
DLN98
|
David L. Detlefs, K. Rustan M. Leino, and Greg Nelson. Wrestling with rep exposure. Research Report 156, Compaq Systems Research Center, 1998.
|
| |
DLNS98
|
David L. Detlefs, K. Rustan M. Leino, Greg Nelson, and James B. Saxe. Extended static checking. Research Report 159, Compaq Systems Research Center, 1998. To appear.
|
| |
ESC
|
Extended Static Checking home page, Compaq Systems Research Center. On the Web at www. research, digital, corn/SRC/esc /Esc. html.
|
| |
GH93
|
|
| |
Hoa72
|
C.A.R. Hoare. Proof of correcmess of data representations. Acta Informatica, 1(4):271-81, 1972.
|
 |
Jac95
|
|
| |
Jon91
|
|
 |
Lam93
|
|
| |
LB97
|
Gary T. Leavens and Albert L. Baker. Enhancing the pre- and postcondition technique for more expressive specifications. Technical Report TR #97-19, Department of Computer Science, Iowa State University, September 1997.
|
| |
Lea89
|
Gary Todd Leavens. Verifying Object-Oriented Programs that Use Subtypes. PhD thesis, MIT Laboratory for Computer Science, February 1989. Available as Technical Report MIT/LCS~-439.
|
| |
Lea96
|
Gary T. Leavens. An overview of Larch/C++: Behavioral specifications for C++ modules. In Haim Kilov and William Harvey, editors, Specification of Behavioral Semantics in Object- Oriented information Modeling, chapter 8, pages 121-142. Kluwer Academic Publishers, 1996.
|
 |
Lei95
|
|
| |
Lei97
|
K. Rustan M. Leino. Ecstatic: An objectoriented programming language with an axiomatic semantics. In The Fourth International Workshop on Foundations of Object- Oriented Languages, January 1997. Proceedings available from www. cs. indiana, edu /hyplan/pierce/fool/.
|
| |
Lei98a
|
|
| |
Lei98b
|
K. Rustan M. Leino. Specifying the modification of extended state. In The Fifth International Workshop on Foundations of Object- Oriented Languages, January 1998. Proceedings available from www.pauillac, inria . fr/~ remy/fool/program, html.
|
| |
LH94
|
|
| |
LN98a
|
K. Rustan M. Leino and Greg Nelson. Abstraction and specification revisited. Internal manuscript KRML 71, Digital Equipment Corporation Systems Research Center. To appear as Compaq SRC Research Report 160, 1998.
|
| |
LN98b
|
|
| |
LS97
|
K. Rustan M. Leino and Raymie Stata. Checking object invariants. Technical Note 1997- 007, Digital Equipment Corporation Systems Research Center, April 1997.
|
 |
LW94
|
|
| |
Mey88
|
|
| |
Nau94
|
|
| |
PHM98
|
|
| |
Sta97
|
|
| |
Van94
|
|
CITED BY 26
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sara Porat , Marina Biberstein , Larry Koved , Bilha Mendelson, Automatic detection of immutable fields in Java, Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research, p.10, November 13-16, 2000, Mississauga, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Marko van Dooren , Eric Steegmans, Language constructs for improving reusability in object-oriented software, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|