Specifying and Checking Method Call Sequences in JML

Saved in:
Bibliographic Details
Title: Specifying and Checking Method Call Sequences in JML
Authors: Cheon, Yoonsik, Perumandla, Ashaveena
Source: Departmental Technical Reports (CS)
Publisher Information: ScholarWorks@UTEP
Publication Year: 2005
Collection: University of Texas at El Paso: Digital Commons@UTEP
Subject Terms: call sequences, runtime assertion checking, formal interface specification, design by contract, Java Modeling Language (JML), Java Language, Computer Engineering
Description: In a pre- and post-conditions style specification, it is difficult to specify allowed sequences of method calls, often called protocols. However, the protocols are essential properties of reusable object-oriented classes and application frameworks, and the approaches based on the pre- and post-conditions, such as design by contracts (DBC) and formal behavioral interface specification languages (BISL), are being accepted as a practical and effective way of describing precise interfaces of (reusable) program modules. We propose a simple extension to JML, a BISL for Java, to specify protocol properties in an intuitive and concise manner. We also define a formal semantics of our extension and provide runtime checks. We believe that our approach can be easily adopted for other BISLs.
Document Type: text
File Description: application/pdf
Language: unknown
Relation: https://scholarworks.utep.edu/cs_techrep/233; https://scholarworks.utep.edu/context/cs_techrep/article/1232/viewcontent/tr05_04.pdf
Availability: https://scholarworks.utep.edu/cs_techrep/233
https://scholarworks.utep.edu/context/cs_techrep/article/1232/viewcontent/tr05_04.pdf
Accession Number: edsbas.4A47D349
Database: BASE
Description
Abstract:In a pre- and post-conditions style specification, it is difficult to specify allowed sequences of method calls, often called protocols. However, the protocols are essential properties of reusable object-oriented classes and application frameworks, and the approaches based on the pre- and post-conditions, such as design by contracts (DBC) and formal behavioral interface specification languages (BISL), are being accepted as a practical and effective way of describing precise interfaces of (reusable) program modules. We propose a simple extension to JML, a BISL for Java, to specify protocol properties in an intuitive and concise manner. We also define a formal semantics of our extension and provide runtime checks. We believe that our approach can be easily adopted for other BISLs.