Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation (2001)
Nov. 10, 2001 to Dec. 10, 2001
Günter Kniesel , University of Bonn
Pascal Costanza , University of Bonn
Michael Austermann , SCOOP GmbH
Current proposals for load-time transformation of Java classes are either dependent on the use of a specific class loader or dependent on a specific JVM implementation. This is not due to an inadequacy of the Java platform but to the wrong choice of the level at which to hook into the Java Class Loader Architecture. JMangler follows a novel approach that ensures both class loader and JVM independence by hooking into the base class of all class loaders.Furthermore, existing proposals do not allow transformers to be treated as components because implicit dependencies must be resolved manually. This paper shows that automatic composition is possible for the well-defined class of interface transformations that still include powerful transformations, like addition of fields, methods and classes, and changes to the class hierarchy. Consequently interface transformers can be deployed jointly even if developed independently.
JMangler, load-time transformation, class file transformation, class loader, transformer components, independent extensibility
G. Kniesel, P. Costanza and M. Austermann, "Jmangler-A Framework for Load-Time Transformation of Java Class Files," Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation(SCAM), Florence, Italy, 2001, pp. 0100.