[Soot-list] SPARK and use-original-names

Rohan Padhye rohanpadhye at cse.iitb.ac.in
Wed Mar 20 13:18:17 EDT 2013


Hello,

I am not able to use SPARK with the "use-original-names" option to the 
Jimple-body pack. I keep getting this exception:

Exception in thread "main" java.lang.RuntimeException: failed to handle 0
     at 
soot.jimple.spark.builder.MethodNodeFactory.defaultCase(MethodNodeFactory.java:288)
     at 
soot.jimple.AbstractJimpleValueSwitch.caseIntConstant(AbstractJimpleValueSwitch.java:55)
     at soot.jimple.IntConstant.apply(IntConstant.java:196)
     at 
soot.jimple.spark.builder.MethodNodeFactory$1.caseAssignStmt(MethodNodeFactory.java:74)
     at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:221)
     at 
soot.jimple.spark.builder.MethodNodeFactory.handleStmt(MethodNodeFactory.java:67)
     at soot.jimple.spark.pag.MethodPAG.buildNormal(MethodPAG.java:181)
     at soot.jimple.spark.pag.MethodPAG.build(MethodPAG.java:147)
     at 
soot.jimple.spark.solver.OnFlyCallGraph.processReachables(OnFlyCallGraph.java:64)
     at 
soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:56)
     at 
soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:123)
     at 
soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:53)
     at 
soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:152)
     at soot.SceneTransformer.transform(SceneTransformer.java:39)
     at soot.Transform.apply(Transform.java:89)
     at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
     at 
soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:49)
     at soot.Pack.apply(Pack.java:114)
     at soot.PackManager.runWholeProgramPacks(PackManager.java:460)
     at soot.PackManager.runPacksNormally(PackManager.java:369)
     at soot.PackManager.runPacks(PackManager.java:335)
     at soot.Main.run(Main.java:198)
     at soot.Main.main(Main.java:141)

I see that this has been reported before 
(http://www.sable.mcgill.ca/pipermail/soot-list/2012-August/004706.html), but 
no solution seems to have been found. Does anybody know the reason why 
these two do not work together? And is there a fix possible? I *require* 
both these to work together because I need to generate information that 
uses variable names, but uses whole-program analysis.

-- 
Regards,
Rohan Padhye



More information about the Soot-list mailing list