Sciweavers

SIGSOFT
2005
ACM

Lightweight object specification with typestates

15 years 5 days ago
Lightweight object specification with typestates
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages. We build on this work by addressing substitutability of subtypes as well as improving precision and conciseness of specifications. We propose a specification technique for objects based on abstract states that incorporates state refinement, method refinement, and orthogonal state dimensions. Union and intersection types form the underlying semantics of method specifications. The approach guarantees substitutability and behavioral subtyping. We designed a dynamic analysis to check existing object-oriented software for protocol conformance and validated our approach by specifying two standard Java libraries. We provide preliminary evidence for the usefulness of our approach. Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirements/Specifications; D.2.4 [Software Engineering]: Software/Program Verification; D.2.2 [Software Engineering]: Design Tools and Techniques; F...
Kevin Bierhoff, Jonathan Aldrich
Added 20 Nov 2009
Updated 20 Nov 2009
Type Conference
Year 2005
Where SIGSOFT
Authors Kevin Bierhoff, Jonathan Aldrich
Comments (0)