[Soot-list] Advice regarding call graphs without a main class

Hal Hildebrand hal.hildebrand at gmail.com
Sat Aug 7 23:18:58 EDT 2010


It looks like I can set the entry points used to calculate the call graph via: Scene.setEntryPoints(List<SootMethod>).  I can gather up all the non private methods in my class set and use these as the entry points.  Looks quite promising...

On Aug 7, 2010, at 8:09 PM, Saswat Anand wrote:

> soot.jimple.toolkits.callgraph.CallGraphBuilder has an empty
> constructor, that adds all application methods as entry points. I have
> never used it, but sounds like that may work for your purpose.
> 
> Saswat
> 
> 
> On Sat, Aug 7, 2010 at 9:35 PM, Hal Hildebrand <hal.hildebrand at gmail.com> wrote:
>> I started using Soot because I needed a call graph to infer relationships across method calls.  In my case, I'm providing continuations and would like to infer that a method is continuable if it calls another method which is continuable.  The problem I'm running into is that I need to do this analysis on what amounts to libraries, rather than "whole programs", in the Soot sense.  Thus, the problem I face is that there is no reasonable "main" class I can provide to Soot.
>> 
>> Is there no way to construct the call graph of a collection of classes.  What I thought I would be able to do was to declare some set of classes to Soot and have a call graph constructed from this set of classes.  Obviously, I misunderstood things (much to my chagrin), but I was wondering if this is actually possible in Soot, or if the call graph framework requires a single class entry point...
>> 
>> I can fall back to my original mechanism to calculate the fixed point of the continuation inference, of course.  Soot provides an excellent framework to implement that algorithm, and I'm still in far better shape having re-implemented the rest of my transformation framework using Soot.  So the use of the call graph would be really nice, but I can work around it..
>> 
>> Fingers crossed...
>> _______________________________________________
>> 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