• DocumentCode
    2033771
  • Title

    JMangler - a framework for load-time transformation of Java class files

  • Author

    Kniesel, GÜnter ; Costanza, Pascal ; Austermann, Michael

  • Author_Institution
    Inst. of Comput. Sci. III, Bonn Univ., Germany
  • fYear
    2001
  • fDate
    2001
  • Firstpage
    98
  • Lastpage
    108
  • Abstract
    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. The 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
  • Keywords
    Java; abstract data types; user interfaces; virtual machines; JMangler; JVM implementation; JVM independence; Java Class Loader Architecture; Java class file transformation; Java classes; automatic composition; base class; class hierarchy; class loader; implicit dependencies; interface transformations; load-time transformation; Computer science; Information analysis; Java; Joining processes; Legislation; Programming; Proposals; Reflection; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2001. Proceedings. First IEEE International Workshop on
  • Conference_Location
    Florence
  • Print_ISBN
    0-7695-1387-5
  • Type

    conf

  • DOI
    10.1109/SCAM.2001.972671
  • Filename
    972671