Note: You are viewing an old revision of this page. View the current version.

Uses of the Soot Framework

Based on a list compiled by Laurie Hendren (

If your name is not on this list yet and you are using Soot, please add yourself. Simple log into the Wiki by entering a user name in CamelCase at the bottom right of this page, e.g. the name AnonymousUser. Then click Edit.


This document briefly outlines known uses of the Soot analysis and transformation framework ( This is not an exhaustive list, but has been compiled via documents available from the web and from feedback provided by Soot users. More additions to this list would be very welcome.

Please contact Laurie Hendren at with a brief description of your use of Soot, along with any relevant URLs and paper references. Updates to existing courses/projects on the list may also be sent to

Graduate Courses and Projects

Soot can be used in various ways for graduate courses and graduate projects. It has been used extensively in the Optimizing Compilers course at McGill? both for assignments on program analysis and instrumentation, and as the basis of many individual course projects ( ). Several of those projects have developed into interesting additions to Soot.

Many course instructors at other institutions have also adopted the use of Soot for course assignments and/or course projects. Soot has been used for advanced compiler courses and also for courses on analysis tools for software engineering.

These uses include the following

Research Projects

Soot has been used in a wide variety of research projects and also used for the development of other open source projects. The following list gives some of these projects which include work in traditional compiler analyses, analyses for software engineering, analysis for distributed programs and software verification.