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

Eric Bodden eric.bodden at ec-spride.de
Mon Apr 8 02:40:39 EDT 2013


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


More information about the Soot-list mailing list