DocumentCode
2209744
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
fYear
2009
fDate
20-26 Sept. 2009
Firstpage
387
Lastpage
388
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
Conference_Location
Edmonton, AB
ISSN
1063-6773
Print_ISBN
978-1-4244-4897-5
Electronic_ISBN
1063-6773
Type
conf
DOI
10.1109/ICSM.2009.5306316
Filename
5306316
Link To Document