ACM Home Page
Please provide us with feedback. Feedback
Implementing Java modeling language contracts with AspectJ
Full text PdfPdf (256 KB)
Source Symposium on Applied Computing archive
Proceedings of the 2008 ACM symposium on Applied computing table of contents
Fortaleza, Ceara, Brazil
SESSION: Programming languages table of contents
Pages 228-233  
Year of Publication: 2008
ISBN:978-1-59593-753-7
Authors
Henrique Rebêlo  Pernambuco State University, Pernambuco, Brazil
Sérgio Soares  Pernambuco State University, Pernambuco, Brazil
Ricardo Lima  Pernambuco State University, Pernambuco, Brazil
Leopoldo Ferreira  Pernambuco State University, Pernambuco, Brazil
Márcio Cornélio  Pernambuco State University, Pernambuco, Brazil
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 24,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1363686.1363745
What is a DOI?

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, instrumented object program generated by the JML compiler use the Java reflection mechanism and data structures not supported by Java ME applications. To deal with this limitation, we propose 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 code size produced by our compiler is very small, which is essential for Java ME applications.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
M. Barnett et al. The Spec# programming system: An overview. In G. Barthe, L. Burdy, M. Huisman, J.-L. Lanet, and T. Muntean, editors, Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS 2004), volume 3362, pages 49--69, 2005.
 
2
 
3
Y. Cheon. A runtime assertion checker for the Java Modeling Language. Technical report 03--09, Iowa State University, Department of Computer Science, Ames, IA, April 2003. The author's Ph.D. dissertation.
4
 
5
E. Cordeiro et al. Optimized compilation of around advice for aspect oriented programs. Journal of Universal Computer Science, 13(6):753--766, 2007.
 
6
F. de Oliveira Jr. et al. Cml: C modeling language. Journal of Universal Computer Science, 13(6):682--700, 2007.
 
7
8
9
 
10
G. T. Leavens. JML's rich, inherited specifications for behavioral subtypes. In Z. Liu and H. Jifeng, editors, Formal Methods and Software Engineering: 8th International Conference on Formal Engineering Methods (ICFEM), volume 4260, pages 2--34, Nov. 2006.
 
11
G. T. Leavens et al. Jml reference manual. Department of Computer Science, Iowa State University. Available from url http://www.jmlspecs.org, Apr. 2005.
 
12
 
13
S. MicroSystems. Java 2 platform, standard edition, v 1.5.0 api specification. Available from http://java.sun.com/j2se/1.5.0/docs/api/ (Date retrieved: August 20, 2007).
 
14
 
15
J. Zhao and M. C. Rinard. Pipa: A behavioral interface specification language for aspectj. In Proc. Fundamental Approaches to Software Engineering (FASE'2003) of ETAPS'2003, Lecture Notes in Computer Science, Apr. 2003.

Collaborative Colleagues:
Henrique Rebêlo: colleagues
Sérgio Soares: colleagues
Ricardo Lima: colleagues
Leopoldo Ferreira: colleagues
Márcio Cornélio: colleagues