Soot - Frequently asked questions

Eric Bodden (ebodde@sable.mcgill.ca) February 19, 2007

Contents 1 I get an exception that java.lang.Object is not found.

You should make sure that rt.jar is on your soot-classpath. This JAR file is usually contained in the lib subdirectory of your Java runtime environment. An example invocation would be:

java soot.Main -cp <cp> -soot-classpath /usr/bin/sunSDK1.4/jre/lib/rt.jar:<scp> ...

In general, <cp> is the classpath with which Soot is run, however <scp> is the classpath of the program that Soot should analyze!

2 Exception: This operation requires resolving level BODIES but
   java.lang.System is at resolving level SIGNATURES

You can generally resolve this problem in two different ways. If you are using Soot as a command line tool, add the -w switch to the command line. If you are using Soot via its API, add the following calls:

Scene.v().loadBasicClasses();
Scene.v().loadNecessaryClasses();