[Soot-list] callgraph analysis in soot version 2.2.3
Ondrej Lhotak
olhotak at uwaterloo.ca
Wed Dec 13 10:41:06 EST 2006
It sounds like you are not extending Soot in the way envisioned by the
original Soot designers, by adding passes and calling soot.Main.main.
I suspect that your problem might go away (but I'm not sure) if you call
Scene.v().loadNecessaryClasses() at some point just after setting the
options.
On Sun, Dec 10, 2006 at 12:15:03PM -0500, Chung-Ching Shen wrote:
> 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)
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
More information about the Soot-list
mailing list