Title :
MAJOR: Flexible tool development with aspect-oriented programming
Author :
Villazón, Alex ; Binder, Walter ; Moret, Philippe ; Ansaloni, Danilo
Author_Institution :
Fac. of Inf., Univ. of Lugano, Lugano, Switzerland
Abstract :
Developing and maintaining tools for profiling, debugging, testing, and reverse engineering can be difficult when using low-level techniques, such as bytecode instrumentation. We promote tool development in Java using high-level aspect-oriented programming. We demonstrate that the use of aspects yields concise tools that are easy to develop, extend, and maintain, because low-level instrumentation details are hidden from the developer. We introduce MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes executing in a Java Virtual Machine, including those in the standard Java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. Both distinguishing features of MAJOR - comprehensive aspect weaving and efficient access to complete calling information - are essential in the aforementioned domains.
Keywords :
Java; object-oriented programming; software libraries; software tools; virtual machines; CARAJillo pluggable module; Java virtual machine; MAJOR; bytecode instrumentation; calling context representation; comprehensive aspect weaving; debugging; flexible tool development; high-level aspect-oriented programming; low-level techniques; profiling; reverse engineering; standard Java class library; testing; tool development; Debugging; Informatics; Instruments; Java; Libraries; Reverse engineering; Runtime; Testing; Virtual machining; Weaving;
Conference_Titel :
Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
Conference_Location :
Edmonton, AB
Print_ISBN :
978-1-4244-4897-5
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2009.5306316