| Implementing Java modeling language contracts with AspectJ |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 6, Downloads (12 Months): 24, Citation Count: 0
|
|
|
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
|
Lilian Burdy , Yoonsik Cheon , David R. Cok , Michael D. Ernst , Joseph R. Kiniry , Gary T. Leavens , K. Rustan M. Leino , Erik Poll, An overview of JML tools and applications, International Journal on Software Tools for Technology Transfer (STTT), v.7 n.3, p.212-232, June 2005
[doi> 10.1007/s10009-004-0167-4]
|
| |
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
|
Curtis Clifton , Gary T. Leavens , Craig Chambers , Todd Millstein, MultiJava: modular open classes and symmetric multiple dispatch for Java, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.130-145, October 2000, Minneapolis, Minnesota, United States
|
| |
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
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William Griswold, Getting started with ASPECTJ, Communications of the ACM, v.44 n.10, p.59-65, Oct. 2001
[doi> 10.1145/383845.383858]
|
| |
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.
|
|