Show simple item record

dc.contributor.advisorMartin Rinarden_US
dc.contributor.authorLam, Patricken_US
dc.contributor.authorZee, Karenen_US
dc.contributor.authorKuncak, Viktoren_US
dc.contributor.authorRinard, Martinen_US
dc.contributor.otherComputer Architectureen_US
dc.date.accessioned2007-11-02T18:45:31Z
dc.date.available2007-11-02T18:45:31Z
dc.date.issued2007-10-31en_US
dc.identifier.otherMIT-CSAIL-TR-2007-049en_US
dc.identifier.urihttp://hdl.handle.net/1721.1/39419
dc.description.abstractTypestate systems allow the type of an object to change during its lifetime in the computation. Unlike standard type systems, they can enforce safety properties that depend on changing object states. We present a new, generalized formulation of typestate that models the typestate of an object through membership in abstract sets. This abstract set formulation enables developers to reason about cardinalities of sets, and in particular to state and verify the condition that certain sets are empty. We support hierarchical typestate classifications by specifying subset and disjointness properties over the typestate sets.We present our formulation of typestate in the context of the Hob program specification and verification framework. The Hob framework allows the combination of typestate analysis with powerful independently developed analyses such as shape analyses or theorem proving techniques. We implemented our analysis and annotated several programs (75-2500 lines of code) with set specifications. Our implementation includes several optimizations that improve the scalability of the analysis and a novel loop invariant inferencealgorithm that eliminates the need to specify loop invariants. We present experimental data demonstrating the effectiveness of our techniques.en_US
dc.format.extent30 p.en_US
dc.relationMassachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratoryen_US
dc.relationen_US
dc.titleSet Interfaces for Generalized Typestate and Data Structure Consistency Verificationen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record