A Survivor's Guide to Java Program Analysis with Soot
By
Arni Einarsson and Janus Dam Nielsen
Version 1.1 07/17/2008
These notes are written to provide our own documentation for the Soot framework from McGill
University. They focus exclusively on the parts of Soot that we
have used in various projects: parsing class files, performing
points-to and null pointer analyses, performing data-flow analysis,
and extracting abstract control-flow graphs. The notes also contain
the important code snippets that make everything work since it is
our experience, that the full Soot API leaves novice users in a
state of shock and awe.
A Survivor's Guide to Java Program Analysis with Soot [pdf]
A Survivor's Guide to Java Program Analysis with Soot [ps]
Source code examples from the guide
aka. the important code snippets that make everything work :)
Changes in version 1.1
- Updated the call graph examples (Thanks to Eric Bodden)
- Minor changes to the abstract
- Correction of some spelling errors