[Soot-list] Spark call graph: Missing edges out of method

Marc-André Laverdière-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Sun Nov 3 21:36:39 EST 2013


Hello Andreas,

This is interesting - it looks like a bug at first glance. I would like
it if you were to do the following:

1) Confirm the behavior with the development branch in github
2) Create a minimal working example (I think your description only needs
the invocation parameters or your custom bootstrap code)
3) File a bug in github with the minimal working example

Thanks and regards,

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 01/11/13 05:41 PM, Andreas Pavlogiannis wrote:
> Hi,
> 
> I am looking for some help to interpret the following. The dacapo 
> benchmar pmd defines a method:
> 
> <net.sourceforge.pmd.symboltable.ClassScope: java.lang.String toString()>
> 
> I build the call graph on the fly, using reflection. The above method 
> makes a number of invokes, some of them to java.util (for example, to 
> <java.util.HashMap: java.lang.Object get(java.lang.Object)>). However, 
> having all-reachable=false in the cg, only some of the outgoing edges 
> appear in the call graph, with <java.util.HashMap: java.lang.Object 
> get(java.lang.Object)> (and others to java.util) missing. If I turn 
> all-reachable=true, the missing invokes appear.
> 
> A call to ReachableMethods() shows that both 
> <net.sourceforge.pmd.symboltable.ClassScope: java.lang.String 
> toString()> and <java.util.HashMap: java.lang.Object 
> get(java.lang.Object)> are reachable in both settings of the 
> all-reachable flag.
> 
> I would expect that all invokes out of a reachable method are also 
> reachable. Could someone explain why this happens, and how I can have 
> this consistency (that all invokes of reachable methods appear in the 
> cg) without having to set all-reachable=true?
> 
> Note: I have observed similar behavior with other methods that overload 
> from java.lang.Object, but I could not understand it or overcome it so far.
> 
> Thanks,
> Andreas
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list