Note: this project is no longer maintained. You may wish to check Xerox's AspectJ, which basically performs a similar task, namely Java sourcecode instrumentation according to syntactic rules. |
Sourcecode instrumentation is automated global modification of the sourcecode to include additional operations, usually for testing and analysis purposes. Uses include:
The Java Instrumentation Engine is
intended to provide a flexible and extendible tool for performing many
instrumentation tasks. It is specific to the Java language, and is written
in pure Java code.
JIE was written by Eran Tromer as a joint project of the Technion, Israel Institue of Science and IBM Haifa Research Lab, under the initiative and guidance of Dr. Shmuel Ur. Thanks to Tal Cohen for his assistance in design and peer-review.
JIE may be freely used for academic and non-commercial purposes. JIE is provided on "as is" basis and all warranties are disclaimed. For further information, including commercial use, contact me.
Design document | [DOC] 270K
[PostScript.gz] 505K |
Implementation and Usage Notes | [DOC] 74K
[PostScript.gz] 125K |
Executable JAR file
Requires XML Parser for Java. |
[JAR] 288K |
JavaDoc sourcecode documentation | [ZIP] 836K
[.tgz] 344K [online] |
Complete package
Requires XML Parser for Java for execution. Requires JavaCC and JTB for machine-generated sourcecode. |
[ZIP] 1519K
[.tgz] 878K |
I would like to express my gratitude to
the authors of these tools. Each of these tools has been extensively evaluated
for the purposes of this project, and performed exceptionally well.
Name: | XML Parser for Java | |
Version: | 2.0.15 (1999/26/8) Later versions may not work due to changed API. Contact me if you encounter this problem. |
|
Source: | IBM | |
Use: | Reading instrumentation configuration from XML files, during run-time. | |
Home page: | http://www.alphaWorks.ibm.com/tech/xml4j/ | |
Used file(s): | xml4j.jar | |
Placement in the JIE directory structure: | lib/ | |
Name: | Java Compiler Compiler (JavaCC) | |
Version: | 1.1 (1999/08/10) | |
Source: | Sun Microsystems and Metamata | |
Use: | Parser generator, used for machine-generated portions of the JIE sourcecode. | |
Home page: | http://www.metamata.com/JavaCC/ | |
Used file(s): | JavaCC.zip | |
Placement in the JIE directory structure: | autogen/bin/ | |
Name: | Java Tree Builder (JTB) | |
Version: | 1.1 (1999/01/10) | |
Source: | Kevin Tao <ktao@earthling.net>
Wanjun Wang <wanjun@purdue.edu> Dr. Jens Palsberg <palsberg@cs.purdue.edu> (Purdue University) |
|
Use: | Tree builder and processor for JavaCC, used for machine-generated portions of the JIE sourcecode. | |
Home page: | http://www.cs.purdue.edu/jtb/ | |
Used file(s): | jtb.jar | |
Placement in the JIE directory structure: | autogen/bin/ | |
Name: | Java 1.2 grammar file for JavaCC | |
Source: | David Williams <david@davidw.com> | |
Use: | Input to JavaCC. | |
Home page: | http://www.metamata.com/javacc/java12grammar.html
http://www.metamata.com/javacc/java12grammars.zip |
[Home] |
(C) 1999 Eran Tromer.
Feedback to eran@tromer.org
|