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

Hal Hildebrand hal.hildebrand at gmail.com
Sat Aug 7 21:35:55 EDT 2010


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...


More information about the Soot-list mailing list