• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Object Invariants in Dynamic Contexts

Cached

  • Download as a PDF

Download Links

  • [sct.ethz.ch]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by K. Rustan M. Leino , Peter Müller
Citations:115 - 39 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Leino_objectinvariants,
    author = {K. Rustan M. Leino and Peter Müller},
    title = {Object Invariants in Dynamic Contexts},
    year = {}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

Object invariants describe the consistency of object-oriented data structures and are central to reasoning about the correctness of object-oriented software. Yet, reasoning about object invariants in the presence of object references, methods, and subclassing is difficult. This paper describes a methodology for specifying and verifying object-oriented programs, using object invariants to specify the consistency of data and using ownership to organize objects into contexts. The novelty is that contexts can be dynamic: there is no bound on the number of objects in a context and objects can be transferred between contexts. The invariant of an object is allowed to depend on the fields of the object, on the fields of all objects in transitively-owned contexts, and on fields of objects reachable via given sequences of fields. With these invariants, one can describe a large variety of properties, including properties of cyclic data structures. Object invariants can be declared in or near the classes whose fields they depend on, not necessarily in the class of an owning object. The methodology is designed to allow modular reasoning, even in the presence of subclasses, and is proved sound.

Citations

467 Dynamically discovering likely program invariants to support program evolution - Ernst, Cockrell, et al. - 2001
353 Preliminary design of JML: A behavioral interface specification language for Java - Leavens, Baker, et al. - 2006
293 editors: Larch: Languages and Tools for Formal Speci cation - Guttag, Horning - 1993
279 Ownership types for flexible alias protection - Clarke, Potter, et al. - 1998
273 Extended static checking - Detlefs, Leino, et al. - 1998
262 Ownership types for safe programming: Preventing data races and deadlocks - Boyapati, Lee, et al. - 2002
173 W.: Verification of object-oriented programs with invariants - Barnett, DeLine, et al. - 2003
171 JML: a notation for detailed design - Leavens, Baker, et al. - 1999
143 JB, Stata R. Extended static checking for java - Flanagan, KRM, et al. - 2002
140 Adoption and focus: Practical linear types for imperative programming - Fähndrich, DeLine - 2002
125 Ownership types for object encapsulation - Boyapati, Liskov, et al. - 2003
112 Object Ownership and Containment - Clarke - 2002
102 Data abstraction and information hiding - Leino, Nelson
96 B.: Confined types - Vitek, Bokowski - 1999
95 Toward Reliable Modular Programs - Leino - 1995
86 ESC/Java User’s Manual - Leino, Nelson, et al. - 2000
79 External uniqueness is unique enough - Clarke, Wrigstad - 2003
73 D.: Friends need a bit more: Maintaining invarianats over shared state - Barnett, Naumann - 2004
65 Wrestling with rep exposure - Detlefs, Leino, et al. - 1998
56 D.A.: Ownership confinement ensures representation independence for object-oriented programs - Banerjee, Naumann - 2005
29 encapsulation and the disjointness of type and effect - Ownership - 2002
13 Kishore Dhara. Concepts of behavioral subtyping and a sketch of their extension to component-based systems - Leavens, Krishna - 2000
6 Behavioral subtyping in object-oriented languages - Dhara - 1997
6 Extended static checking of programs with cyclic dependencies - Joshi - 1997
2 Huizing and Ruurd Kuiper. Verification of object-oriented programs using class invariants - Kees - 2000
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University