Title
Specifying and checking method call sequences of Java programs
Abstract
In a pre and postcondition-style specification, it is difficult to specify the allowed sequences of method calls, referred to as protocols. The protocols are essential properties of reusable object-oriented classes and application frameworks, and the approaches based on the pre and postconditions, such as design by contracts (DBC) and formal behavioral interface specification languages (BISL), are being accepted as a practical and effective tool for describing precise interfaces of (reusable) program modules. We propose a simple extension to the Java Modeling Language (JML), a BISL for Java, to specify protocol properties in an intuitive and concise manner. The key idea of our approach is to separate protocol properties from functional properties written in pre and post-conditions and to specify them in a regular expression-like notation. The semantics of our extension is formally defined and provides a foundation for implementing runtime checks. Case studies have been performed to show the effectiveness our approach. We believe that our approach can be adopted by other BISLs.
Year
DOI
Venue
2007
10.1007/s11219-006-9001-4
Software Quality Control
Keywords
Field
DocType
Method call sequence specification,Runtime checking,Assertion,Pre and postconditions,Programming by contract,JML language
Simple extension,Notation,Programming language,Computer science,Design by contract,Assertion,Java Modeling Language,Java,Semantics
Journal
Volume
Issue
ISSN
15
1
0963-9314
Citations 
PageRank 
References 
18
1.07
15
Authors
2
Name
Order
Citations
PageRank
Yoonsik Cheon177056.20
Ashaveena Perumandla2482.89