[Soot-list] soot options( local splitter )

Steven Arzt Steven.Arzt at cased.de
Mon Jun 6 05:24:38 EDT 2016


Hi Lee,

 

It is usually not a good idea to disable individual packs or phases from Soot’s normal operation. Adding more transformers should be fine, but there are quite a number of subtle dependencies between the existing ones. Unless there is a very good reason and you know the internals, keep the existing phases as they are.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von Li Sui
Gesendet: Samstag, 4. Juni 2016 10:48
An: soot-list at CS.McGill.CA
Betreff: [Soot-list] soot options( local splitter )

 

Hi there.

 

 I am using soot and spark to do some points to analysis. It throws exception when i turn off the local splitter. Here is the options I have:

 

soot.options.Options.v().set_keep_line_number(true);

soot.options.Options.v().set_whole_program(true);

soot.options.Options.v().setPhaseOption("cg","verbose:true");

soot.options.Options.v().setPhaseOption("cg.spark","enabled:true");

soot.options.Options.v().setPhaseOption("jb","enabled:true");

soot.options.Options.v().setPhaseOption("jb","use-original-names:true");

soot.options.Options.v().setPhaseOption("jb.ls <http://jb.ls/> ","enabled:false");

 

Here is the exception:

java.lang.Exception: null typing passed to useChecker

at soot.jimple.toolkits.typing.fast.UseChecker.check(UseChecker.java:50)

at soot.jimple.toolkits.typing.fast.TypeResolver.insertCasts(TypeResolver.java:345)

at soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(TypeResolver.java:124)

at soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:101)

at soot.BodyTransformer.transform(BodyTransformer.java:51)

at soot.Transform.apply(Transform.java:104)

at soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:66)

at soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:89)

at soot.Pack.apply(Pack.java:124)

at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:117)

at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:89)

at soot.SootMethod.retrieveActiveBody(SootMethod.java:322)

at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:531)

at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:426)

at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:55)

at soot.jimple.spark.builder.ContextInsensitiveBuilder.build(ContextInsensitiveBuilder.java:77)

at soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:84)

at soot.SceneTransformer.transform(SceneTransformer.java:39)

at SPARKExample.main(SPARKExample.java:92)

 

I also notice that if I disable local splitter in soot eclipse plugin, I can not run it under the whole program mode. The eclipse just quite straight away.

Any idea?

Thanks 

Lee

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20160606/a880954a/attachment-0001.html 


More information about the Soot-list mailing list