[Soot-list] Error in Shimple

Ishan Khot ishankhot.ik at gmail.com
Wed Jun 26 05:58:21 EDT 2013


Hi Soot List,

I was working on a project which utilizes the soot framework especially its
Shimple phase. While working with a few android apps, we came across the
following error:

Exception in thread "main" java.lang.RuntimeException: Assertion failed.
    at
soot.toolkits.graph.SimpleDominatorsFinder.getImmediateDominator(SimpleDominatorsFinder.java:94)
    at soot.toolkits.graph.DominatorTree.fetchParent(DominatorTree.java:257)
    at soot.toolkits.graph.DominatorTree.buildTree(DominatorTree.java:210)
    at soot.toolkits.graph.DominatorTree.<init>(DominatorTree.java:68)
    at
soot.shimple.DefaultShimpleFactory.getDominatorTree(DefaultShimpleFactory.java:158)
    at soot.shimple.internal.PhiNodeManager.update(PhiNodeManager.java:57)
    at
soot.shimple.internal.PhiNodeManager.insertTrivialPhiNodes(PhiNodeManager.java:71)
    at
soot.shimple.internal.ShimpleBodyBuilder.transform(ShimpleBodyBuilder.java:99)
    at soot.shimple.ShimpleBody.rebuild(ShimpleBody.java:133)
    at soot.shimple.ShimpleBody.<init>(ShimpleBody.java:102)
    at soot.shimple.Shimple.newBody(Shimple.java:88)
    at soot.PackManager.runBodyPacks(PackManager.java:812)
    at soot.PackManager.runBodyPacks(PackManager.java:510)
    at soot.PackManager.runBodyPacks(PackManager.java:417)
    at soot.PackManager.runPacksNormally(PackManager.java:394)
    at soot.PackManager.runPacks(PackManager.java:335)
    at soot.Main.run(Main.java:198)
    at soot.Main.main(Main.java:141)

When we tried to debug the error on our part, we found that the error comes
whenever there is a method whose Block Graph (CFG) contains a block which
has no predecessors and is neither the head. This error comes in quite a
lot of apps too, so we cannot ignore it for the purpose of our analysis.
Being relative novices in this area of analysis, we would like to know
whether this is an error in the graph formation algorithm or if the code
for SSA conversion cannot form the dominator tree for such a graph.

We would be highly obliged if you could give us some inputs and help us out.

Thanks
Ishan Khot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130626/b482bd0e/attachment.html 


More information about the Soot-list mailing list