Implementing Java Modeling Language Contracts with AspectJ

Saved in:
Bibliographic Details
Title: Implementing Java Modeling Language Contracts with AspectJ
Authors: Henrique Rebêlo, Sérgio Soares, Ricardo Lima, Márcio Cornélio, Leopoldo Ferreira
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf.
Publication Year: 2008
Collection: CiteSeerX
Subject Terms: Categories and Subject Descriptors D.1 [Software, Programming Techniques—Aspect-Oriented Programming, D.3.2 [Programming Languages, Languages Classifications—JML General Terms Languages, Experimentation Keywords Design by contract, JML language, JML compiler, aspectoriented programming, AspectJ
Description: The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed to improve functional software correctness of Java applications. However, the JML compiler explores the reflection technique and data structures not supported by Java ME applications. In order to eliminate such a problem, this paper proposes the use of AspectJ to implement a new JML compiler, which generates an instrumented bytecode compliant with both Java SE and Java ME applications. The paper includes a comparative study to demonstrate the quality of the final code generated by our compiler. The size of the code is compared against the code generated by an existent JML compiler. Moreover, we evaluate the amount of additional code required to implement the JML assertions in Java applications. Results indicate that the overhead in the code size produced by our approach is very small, which is essential for Java ME applications.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022; http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022
http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.458302EE
Database: BASE
Description
Abstract:The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed to improve functional software correctness of Java applications. However, the JML compiler explores the reflection technique and data structures not supported by Java ME applications. In order to eliminate such a problem, this paper proposes the use of AspectJ to implement a new JML compiler, which generates an instrumented bytecode compliant with both Java SE and Java ME applications. The paper includes a comparative study to demonstrate the quality of the final code generated by our compiler. The size of the code is compared against the code generated by an existent JML compiler. Moreover, we evaluate the amount of additional code required to implement the JML assertions in Java applications. Results indicate that the overhead in the code size produced by our approach is very small, which is essential for Java ME applications.