[Soot-list] Some problems of HashMutablePDG when analyzing jar files

Wei MA wei.ma at uni.lu
Thu Oct 22 15:09:14 EDT 2020


Dear Soot Developers,

Hope everything fine recently.

I use soot to get method PDG graph from soot-4.2.1-jar-with-dependencies.jar,


I am using HashMutablePDG of Soot and I use it to get the PDG graph of each method but I get two issues from the method constructPDG of HashMutablePDG.java :

         1. ClassCastException soot.toolkits.graph.Block cannot be cast to soot.toolkits.graph.pdg.Region

             It happens in the code lines 432 and 433 in HashMutablePDG.java
             assert (succRPDGNode.getType() == PDGNode.Type.REGION);
             Region succR = (Region) succRPDGNode.getNode();


  1.  RuntimeException: PDG construction: A and B are not supposed to be the same node!

           It happens in the code line 200 in HashMutablePDG.java
          if (b.equals(a)) {
            throw new RuntimeException("PDG construction: A and B are not supposed to be the same node!");
          }

Log message is here:
java.lang.ClassCastException: soot.toolkits.graph.Block cannot be cast to soot.toolkits.graph.pdg.Region
fj.control.Trampoline
zipWith
java.lang.RuntimeException: PDG construction: A and B are not supposed to be the same node!
fj.test.Property$8$1
f
java.lang.RuntimeException: PDG construction: A and B are not supposed to be the same node!
fj.test.Gen$2
f
java.lang.ClassCastException: soot.toolkits.graph.Block cannot be cast to soot.toolkits.graph.pdg.Region
fj.test.Property
check
java.lang.NullPointerException
com.google.common.collect.Collections2$OrderedPermutationIterator
findNextL
java.lang.NullPointerException
com.google.common.collect.Iterators
................
................
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20201022/d4825823/attachment.html>


More information about the Soot-list mailing list