DocumentCode :
3260864
Title :
Towards imperative modules: reasoning about invariants and sharing of mutable state
Author :
Naumann, David A. ; Barnett, Mike
Author_Institution :
Stevens Inst. of Technol., Hoboken, NJ, USA
fYear :
2004
fDate :
13-17 July 2004
Firstpage :
313
Lastpage :
323
Abstract :
Imperative and object-oriented programs make ubiquitous use of shared mutable objects. Updating a shared object can and often does transgress a boundary that was supposed to be established using static constructs such as a class with private fields. This paper shows how auxiliary fields can be used to express two state-dependent encapsulation disciplines: ownership, a kind of separation, and local co-dependence, a kind of sharing. A methodology is given for specification and modular verification of encapsulated object invariants and shown sound for a class-based language.
Keywords :
data encapsulation; formal specification; formal verification; object-oriented programming; auxiliary fields; class-based language; encapsulated object invariants; imperative modules; imperative programs; modular verification; mutable state; object-oriented programs; shared mutable objects; state-dependent encapsulation; static constructs; Computer science; Data structures; Encapsulation; Interference; Logic; Object oriented modeling; Programming profession; Protection; Reasoning about programs;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Logic in Computer Science, 2004. Proceedings of the 19th Annual IEEE Symposium on
ISSN :
1043-6871
Print_ISBN :
0-7695-2192-4
Type :
conf
DOI :
10.1109/LICS.2004.1319626
Filename :
1319626
Link To Document :
بازگشت