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

Zhoulai zell08v at orange.fr
Thu Mar 21 03:41:58 EDT 2013


Hi,

 I think it might be a bug if there is a conflict between '-app' and
'-use-original-names'. You  might want to show us a small and complete
example that reproduces it.

My personal feeling is that, ' use-original-names' does not always go well
with Jimple analysis. Unwanted imprecise results, or confusing exception
might be caused due to that option. Anyway, imho,  "use-original-names"
are mostly useful for us people, but the idea of static analysis lies in
reasoning program behaviors with programs. Voila.

Zell.


This is the equivalent command-line (exception thrown with this usage too):
> java -jar soot.jar -cp <DIR> -pp -w -app -p jb use-original-names:true
> -keep-bytecode-offset -f none -p cg.spark enabled -p cg
> implicit-entry:false <MAIN_CLASS>
>
> Interestingly, it works fine if I give the "-no-bodies-for-excluded"
> option, so I get the variable-named Jimple for my own classes, but it does
> not work when all bodies are loaded.
>
> Have you managed to get both working together when library classes are
> loaded too?
>
> Thanks,
>
> Rohan
>
>
>
> On Wednesday 20 March 2013 11:24 PM, Zhoulai wrote:
>
>
> Hi,
>
> I guess the error should be due to your SOOT settings. For me most of time
> they work well together.
>
> Could you show us your source code part?
>
> Zell.
>
> On Wed, Mar 20, 2013 at 6:18 PM, Rohan Padhye <rohanpadhye at cse.iitb.ac.in>wrote:
>
>> 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
>>
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at sable.mcgill.ca
>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
>
>
> --
> Regards,
> Rohan Padhye
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130321/3ce298fb/attachment.html 


More information about the Soot-list mailing list