Java is an object-oriented language.
Compilers
Transformation Systems
Analysis and Searching
- JQuery -- query-based source code browser based on Eclipse
Bytecode
- Soot Framework for bytecode transformations (Jimple)
- Apache's BCEL
- ASM
Extensible Compilers
Code Generation
Publications
Tools and methods for Java
Program Understanding and
Reverse Engineering are discussed in several of the papers by
Tarja Systa.
- Tarja Systä, Kai Koskimies, and HausiMueller. Shimba - An Environment for Reverse Engineering Java Software Systems, Software Practice and Experience, 31(4), 2001, pp. 371-394.
- Tarja Systä, Understanding the Behavior of Java Programs, In Proc. of the 7th Working Conference on Reverse Engineering (WCRE 2000), Brisbane
- Tarja Systä, On the relationships between static and dynamic models in reverse engineering Java software, In Proc. of the 6th Working Conference on Reverse Engineering (WCRE99), Atlanta, Georgia, USA, October 1999, pp.304-313.
- See http://www.cs.tut.fi/~tsysta/