Skip to content
This repository

Soot - A Java optimization framework

changes required for ICFG type generalization in Heros. Now using Lis…

…ts instead of Sets for Collections whose most common use case is iterating anyway
latest commit 05be31e435
Steven Arzt StevenArzt authored
Octocat-spinner-32 .settings corrected compliance level: should be 1.6
Octocat-spinner-32 doc
Octocat-spinner-32 eclipse deleted .swp files someone checked in
Octocat-spinner-32 generated added new Soot option for on-the-fly loading of classes and methods
Octocat-spinner-32 libs fixed the build path in ant and eclipse
Octocat-spinner-32 src changes required for ICFG type generalization in Heros. Now using Lis…
Octocat-spinner-32 systests - new test case for string constants wih null literals
Octocat-spinner-32 tests added type information
Octocat-spinner-32 tutorial deleted .swp files someone checked in
Octocat-spinner-32 .classpath fixed the build path in ant and eclipse
Octocat-spinner-32 .gitignore added some exclusions for those working with the IntelliJ IDE
Octocat-spinner-32 .project fixing builder issue
Octocat-spinner-32 CHANGES Merge branch 'mergetest' into develop
Octocat-spinner-32 COPYING-LESSER.txt Changed from Library General Public License 2 to Lesser General Publi…
Octocat-spinner-32 README.coding_rules Update README.coding_rules to reflect switch from make to ant,
Octocat-spinner-32 README.md Add notes on nightly build
Octocat-spinner-32 Release_Notice
Octocat-spinner-32 TODO - made nop eliminator run before jb phase for java to jimple
Octocat-spinner-32 TODO.txt updated web page;
Octocat-spinner-32 ant.settings.template fixed the build path in ant and eclipse
Octocat-spinner-32 background6.gif prcs 1.2.0.dev.4:
Octocat-spinner-32 build.xml Now only include actual test classes in junit run
Octocat-spinner-32 credits Merge branch 'mergetest' into develop
Octocat-spinner-32 index.html git
Octocat-spinner-32 nightly
Octocat-spinner-32 nightly.html changed location to nightly builds to soot/nightly
Octocat-spinner-32 soot.psf Corrected github project references in soot.psf
Octocat-spinner-32 soot_download.html
Octocat-spinner-32 soot_in_eclipse_howto.html Improve the wording of the previous change
README.md

What is Soot?

Soot is a Java optimization framework. It provides four intermediate representations for analyzing and transforming Java bytecode:

  • Baf: a streamlined representation of bytecode which is simple to manipulate.
  • Jimple: a typed 3-address intermediate representation suitable for optimization.
  • Shimple: an SSA variation of Jimple.
  • Grimp: an aggregated version of Jimple suitable for decompilation and code inspection.

See http://www.sable.mcgill.ca/soot/ for details.

How do I get started with Soot?

We have some documentation on Soot in the wiki and also a large range of tutorials on Soot.

How do I obtain the nightly builds

Nightly builds of soot can be obtained from nightly build. You might have to downloads the dependency jars as well.

About Soot's source code

Soot follows the git-flow convention. Releases and hotfixes are maintained in the master branch. Development happens in the develop branch. To catch the bleeding edge of Soot, check out the latter. You will also need the projects jasmin and heros. In case of any questions, please consult the Soot mailing list at: http://www.sable.mcgill.ca/mailman/listinfo/soot-list/

Something went wrong with that request. Please try again.