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