MAJOR: rapid tool development with aspect-oriented programming

  • Authors:
  • Alex Villazón;Walter Binder;Philippe Moret;Danilo Ansaloni

  • Affiliations:
  • University of Lugano, Switzerland;University of Lugano, Switzerland;University of Lugano, Switzerland;University of Lugano, Switzerland

  • Venue:
  • PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The use of low-level techniques, such as bytecode instrumentation to develop tools for profiling, debugging, testing, and reverse engineering is error-prone, time-consuming, and therefore costly. As a solution to these problems, we promote high-level aspect-oriented programming for rapid tool development so as to hide low-level instrumentation details from the developer. We show that our aspect-based approach yields concise tools that are easy to develop and extend, hence reducing development and testing costs. As enabling technology, we rely on MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all methods executing in a Java Virtual Machine (after an initial bootstrapping phase), including methods in the standard Java class library. MAJOR also supports efficient access to a complete and customizable calling context representation thanks to the pluggable module CARAJillo. Both comprehensive aspect weaving and efficient access to calling context information are of paramount importance in the aforementioned domains.