How to run Soot

You can either:
  • download your own version of Soot, and install it on any system that supports Java 1.2 or later;
  • or use the version installed on the SOCS teaching network. This version can be run on the SPARC machines willy or mimi , or on the FreeBSD machines by:
    • setting the JAVADIR variable to point to a valid Java implementation
    • setting the JOOSDIR variable to point to ~hendren/JOOS1.1
    • and then using the soot script as follows:
      ~hendren/Soot/Bin/soot Of course, you may copy this soot script to a convenient place, or add ~hendren/Soot/Bin to your PATH ,
There are some tutorials for Soot.
The most useful options for COMP 520 are:
  • soot --help to list all options
  • soot --version to get the version of Soot
  • soot --baf classname to produce a bytecode representation
  • soot --jimp classname to produce a Jimple 3-address representation
  • soot --grimp classname to produce Grimp, which is aggregated Jimple
  • soot --dava classname to produce Java source code (decomplier)