Implementing Java Modeling Language Contracts With Aspectj
SAC '08: The 2008 ACM Symposium on Applied Computing Fortaleza, Ceara Brazil March, 2008(2008)
摘要
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 JAIL 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.
更多查看译文
关键词
Design by contract,JML language,JML compiler,aspect-oriented programming,AspectJ
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络