Bytecode Transformation-Tolerant Bytecode-Transformation in Java

Bytecode transformations at class-loading time in Java offer a good trade-off point in terms of dynamicity and power of transformation, execution performance, and portability of the applications transformed. However, they often limits the use of custom/system class loaders in application programs. This limitation is especially the pain for developing stacked containers, which are often used in application servers. This paper presents a transformation framework called EMPL for addressing this limitation. A transformation container using EMPL allows its application software stacks to transform the bytecode of their interest using customized class loaders. This paper also presents how to implement EMPL on top of the existing standard Java virtual machine and system class libraries without modifying them.

By: Michiaki Tatsubori

Published in: RT0781 in 2008

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RT0781.pdf

Questions about this service can be mailed to reports@us.ibm.com .