A New Eclipse-Based JML Compiler Built Using AST Merging

Publication Year:
Usage 266
Downloads 225
Abstract Views 41
Repository URL:
Sarcar, Amritam; Cheon, Yoonsik
incremental compilation; pre and postconditions; runtime assertion checking; AST merging; Eclipse; JML; Computer Engineering
article description
The Java Modeling Language (JML) is a formal interface specification language to document the behavior of Java program modules and has been used in many research and industrial projects. However, its inability to support Java 5 features such as generics is reducing its user base significantly. Besides, the JML compiler is on average 8.5 times slower than the javac Java compiler. In this paper, we present a new JML compiler built on the Eclipse Java compiler to support Java 5 features. We used a technique called AST merging to implement coarse-grained incremental compilation. In our experiments we observed a significant improvement in compilation speed; the new compiler is 3 to 4.5 times faster than the current one.