[Soot-list] Finding path conditions in Soot

Julien Klaus julien.klaus at uni-jena.de
Fri Aug 1 09:41:02 EDT 2014


Hello Manas,

you can get the conditions from a unit of the JIfStmt class with the 
method getCondition() 
(http://www.sable.mcgill.ca/soot/doc/soot/jimple/internal/JIfStmt.html). 
Also you can it propagate with the help of a graph. You can use the 
UnitGraph 
(http://www.sable.mcgill.ca/soot/doc/soot/toolkits/graph/UnitGraph.html). With 
the methods getPredsOf(Unit u) or get getSuccsOf(Unit u) you can 
coordinate through the graph of your programm. When you use the 
ForwardBranchedFlowAnalysis you can use the UnitGraph in the method 
doAnalysis(). When you look in the documentation of 
ForwardBranchedFlowAnalysis 
(http://www.sable.mcgill.ca/soot/doc/soot/toolkits/scalar/ForwardBranchedFlowAnalysis.html) 
you find some classes which extended this class. Maybe the source code 
or this presentation 
(http://www.iro.umontreal.ca/~dufour/cours/ift6315/docs/soot-tutorial.pdf) 
helps.

Regards,
Julien

Am 01.08.2014 12:20, schrieb Manas Thakur:
> I have been trying to find a series of conditions under which a path 
> executes. I could find a post in this mailing list from 2012, which 
> says it is possible with ForwardBranchedFlowAnalysis. Still I am not 
> clear with how can the conditions be propagated and aggregated for 
> goto's and if's generated as a result of various programming constructs.
> Can someone describe the specific details, or provide a link to some 
> paper/code-snippet where conditions are propagated through the various 
> paths of a program in Soot?
>
> Thanks and regards,
> Manas
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140801/e2321849/attachment.html 


More information about the Soot-list mailing list