[Soot-list] callgraph analysis in soot version 2.2.3

Chung-Ching Shen ccshen at wam.umd.edu
Sun Dec 10 12:15:03 EST 2006


Hi,

We're interested in using latest version of soot (2.2.3) to run our 
developed package with the use
of callgraph analysis.  But, I get the error as follows. The same code 
works fine with Soot version
2.0.1, but we don't why it doesn't work with Soot version 2.2.3. Here 
are the soot options that we
used:

sootOptions.put("on-fly-cg", "true");
sootOptions.put("simulate-natives", "false");
sootOptions.put("enabled", "true");
sootOptions.put("verbose", "true");

sootOptions.put("propagator", "worklist");
sootOptions.put("set-impl", "double");
sootOptions.put("double-set-old", "hybrid");
sootOptions.put("double-set-new", "hybrid");

and the errors below occur when the following two lines code are executed:
Scene.v().setEntryPoints(_getCallGraphEntryPoints(source));
SparkTransformer.v().transform("cg.spark", sootOptions);

Thanks very much.

Chung

--------------------------------------------------------------------------------
[Call Graph] For information on where the call graph may be incomplete, 
use the
verbose option to the cg phase.
Exception in thread "main" 
soot.AbstractSootMethodRef$ClassResolutionFailedExcep
tion: Class java.lang.String$CaseInsensitiveComparator doesn't have 
method <init
 >([java.lang.String$1]) : void; failed to resolve in superclasses and 
interfaces
Looking in java.lang.String$CaseInsensitiveComparator which has methods []

        at 
soot.AbstractSootMethodRef.resolve(AbstractSootMethodRef.java:135)
        at soot.AbstractSootMethodRef.resolve(AbstractSootMethodRef.java:95)
        at 
soot.jimple.internal.AbstractInvokeExpr.getMethod(AbstractInvokeExpr.
java:55)
        at 
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.getImplicitTarge
ts(OnFlyCallGraphBuilder.java:235)
        at 
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod
(OnFlyCallGraphBuilder.java:183)
        at 
soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachable
s(OnFlyCallGraphBuilder.java:81)
        at 
soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:69)

        at 
soot.jimple.spark.builder.ContextInsensitiveBuilder.build(ContextInse
nsitiveBuilder.java:78)
        at 
soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer
.java:53)
        at soot.SceneTransformer.transform(SceneTransformer.java:39)



More information about the Soot-list mailing list