Java Language

Program-Transformation.Org: The Program Transformation Wiki
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/