[Soot-list] Question about soot.jimple.toolkits.infoflow package

Richard L. Halpert richhal22 at gmail.com
Mon Apr 8 13:56:29 EDT 2013


The code has been used a bit since then, but hasn't been carefully
maintained.  Jiangfan Shi (cc'd) is probably its most recent user.

What are you trying to do?  The infoflow package can do things similar to
escape-analysis, but you're likely better off using Heros since it is a
more principled (and I suspect more efficient) approach to whole-program
data flow.

-Richard



On Sun, Apr 7, 2013 at 11:40 PM, Eric Bodden <eric.bodden at ec-spride.de>wrote:

> Hi Jiaqi Tan.
>
> This code is from 2007 and AFAIK has not been used since. It could
> well be that it does not work any more.
>
> In case you are looking for a taint analysis: We will probably be
> releasing an implementation based on Heros and Soot in early May.
>
> Eric
>
> On 7 April 2013 22:10, Jiaqi Tan <tanjiaqi at gmail.com> wrote:
> > Hi,
> >
> > I have some questions about trying to get the various analyses in the
> > soot.jimple.toolkits.infoflow package to work.
> >
> > I noticed that in InfoFlowAnalysis, the doApplicationClassesAnalysis()
> > method is commented out, is there a bug or problem with the method?
> >
> > Also, I tried doing this in the internalTransform() of a
> SceneTransformer:
> >
> > Iterator<SootClass> appClassIter =
> Scene.v().getApplicationClasses().iterator();
> > while (appClassIter.hasNext()) {
> >      Iterator<SootMethod> mtdIter = appClassIter.next().methodIterator();
> >      while (mtdIter.hasNext()) {
> >           SootMethod currMtd = mtdIter.next();
> >           DirectedGraph flowSummary =
> ifa.getMethodInfoFlowSummary(currMtd);
> >           InfoFlowAnalysis.printInfoFlowSummary(flowSummary);
> >      }
> > }
> >
> > And I got an NPE in:
> > Exception in thread "main" java.lang.NullPointerException
> > at
> soot.jimple.toolkits.infoflow.SmartMethodInfoFlowAnalysis.handleInvokeExpr(SmartMethodInfoFlowAnalysis.java:415)
> > at
> soot.jimple.toolkits.infoflow.SmartMethodInfoFlowAnalysis.addFlowToCdfg(SmartMethodInfoFlowAnalysis.java:830)
> > at
> soot.jimple.toolkits.infoflow.SmartMethodInfoFlowAnalysis.generateAbbreviatedInfoFlowGraph(SmartMethodInfoFlowAnalysis.java:154)
> > at
> soot.jimple.toolkits.infoflow.SmartMethodInfoFlowAnalysis.<init>(SmartMethodInfoFlowAnalysis.java:131)
> > at
> soot.jimple.toolkits.infoflow.ClassInfoFlowAnalysis.getMethodInfoFlowSummary(ClassInfoFlowAnalysis.java:89)
> > at
> soot.jimple.toolkits.infoflow.InfoFlowAnalysis.getMethodInfoFlowSummary(InfoFlowAnalysis.java:112)
> > at
> soot.jimple.toolkits.infoflow.InfoFlowAnalysis.getMethodInfoFlowSummary(InfoFlowAnalysis.java:108)
> >
> > How should I use the classes in soot.jimple.toolkits.infoflow?
> >
> > Thanks!
> >
> > Regards,
> > Jiaqi Tan
> > _______________________________________________
> > Soot-list mailing list
> > Soot-list at sable.mcgill.ca
> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>
>
> --
> Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
> Head of Secure Software Engineering Group at EC SPRIDE
> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://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/20130408/e828a87f/attachment.html 


More information about the Soot-list mailing list