[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