soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.85k stars 706 forks source link

Bug in callgraph generated by geomPTA? #1160

Open Angelimc opened 5 years ago

Angelimc commented 5 years ago

Hi,

I'm using Flowdroid with geomPTA to create a context-sensitive callgraph. I encountered a problem for the following method in my app:

Screen Shot 2019-05-29 at 9 45 55 PM

Human and Cat are subclasses of Animal and their walk methods just contains print statements.

When Flowdroid's callgraph algorithm is set to SPARK, the callgraph contains the edges from that method to both Human.walk and to Cat.walk. This is the expected result.

However, when I set the callgraph algorithm to GEOM, those edges are missing in the callgraph.

I was wondering if this is a bug in geomPTA. If not, why are those edges missing for geomPTA?

Thank you.

richardxx commented 5 years ago

It could be a bug and it could be some part of the code is out of date for catching up certain information to feed geomPTA. But I don't have time to have a look at it, sorry. Your patch is of course welcome, :>