Optimizing generated aspect-oriented assertion checking code for JML using program transformations: An empirical study
Abbreviated Journal Title
Sci. Comput. Program.
Aspect-oriented programming; Program transformation; JML; DESIGN; Computer Science, Software Engineering
The AspectJ JML compiler (ajmlc) explores aspect-oriented programming (AOP) mechanisms to implement JML specifications, such as pre- and postconditions, and enforce them during runtime. This compiler was created to improve source-code modularity. Some experiments were conducted to evaluate the performance of the code generated through ajmlc. Results demonstrated that the strategy of adopting AOP to implement JML specifications is very promising. However, there is still a need for optimization of the generated code's bytecode size and running time. This paper presents a catalog of transformations which represent the optimizations implemented in the new optimized version of the ajmlc compiler. We employ such transformations to reduce the bytecode size and running time of the code generated through the ajmlc compiler. Aiming at demonstrating the impact of such transformation on the code quality, we conduct an empirical study using four applications in optimized and non-optimized versions generated by ajmlc. We show that our AOP transformations provide a significant improvement, regarding bytecode size and running time. (C) 2012 Elsevier B.V. All rights reserved.
Science of Computer Programming
Article; Proceedings Paper
"Optimizing generated aspect-oriented assertion checking code for JML using program transformations: An empirical study" (2013). Faculty Bibliography 2010s. 4578.