[Soot-list] callgraph analysis in soot version 2.2.3

Eric Bodden eric.bodden at mail.mcgill.ca
Mon Dec 11 08:30:37 EST 2006


This looks to me as if Soot is somehow having two different versions of
java.lang.String on its classpath. Please verify that your
-soot-classpath is set correctly.


Eric

> -----Original Message-----
> From: soot-list-bounces at sable.mcgill.ca [mailto:soot-list-
> bounces at sable.mcgill.ca] On Behalf Of Chung-Ching Shen
> Sent: Sunday, December 10, 2006 6:15 PM
> To: soot-list at sable.mcgill.ca
> Subject: [Soot-list] callgraph analysis in soot version 2.2.3
> 
> 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