Soot is a Java optimization framework. It provides four intermediate representations for analyzing and transforming Java bytecode:
1. Baf: a streamlined representation of bytecode which is simple to manipulate.
2. Jimple: a typed 3-address intermediate representation suitable for optimization.
3. Shimple: an SSA variation of Jimple.
4. Grimp: an aggregated version of Jimple suitable for decompilation and code inspection.
Soot can be used as a stand alone tool to optimize or inspect class files, as well as a framework to develop optimizations or transformations on Java bytecode.
- Category: ByteCode
- License: GNU Library or Lesser General Public License (LGPL)
- HomePage: http://www.sable.mcgill.ca/soot/


