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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call