USENIX Symposium on Internet Technologies and Systems, 1997
BIT: A Tool for Instrumenting Java Bytecodes
Han Bok Lee and Benjamin G. Zorn
University of Colorado, Boulder
Abstract
BIT (Bytecode Instrumenting Tool) is a collection of Java
classes that allow one to build customized tools to instrument Java Virtual
Machine (JVM) bytecodes. Because understanding program behavior is an=
essential
part of developing effective optimization algorithms, researchers and=
software
developers have built numerous tools that carry out program analysis.=
Although
there are existing tools that analyze and modify executables on a variety
of operating systems and machine architectures, there currently is no=
framework
for carrying out the same task for JVM bytecodes. In this paper, we describe
BIT, which allows the user to insert calls to analysis methods anywhere
in the bytecode, so that information can be extracted from the user program
while it is being executed. In this paper, we describe several simple tools
built using BIT and also report on BIT=92s performance. We found that the
overhead for the execution speed and size were between 23% to 150%.
- View the full text of this paper in
HTML form and
PDF form.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.
|