[Soot-list] partial call graph, spark

Raghav Karol raghav.karol at gmail.com
Mon May 29 08:16:53 EDT 2006


Hello *,

I've been looking into Soot to get a reasonably accurate call-graph
for a Java Program.
I am interested in only the partial call-graph; methods part of the
application code. From the mailing list I see the recommended way to
do this is to filter the methods on the basis of package name; this is
what I currently do.

The fastest case is when I simply use

               CallGraphBuilder cgb = new CallGraphBuilder( );
		cgb.build();

		CallGraph cg = cgb.getCallGraph();

but is not quite accurate (because it uses CHA?).

Next I tried to use spark, and the VTA, RTA options.

With 'vta:false', the Pointer Analysis Graph (PAG) construction takes
~3 minutes and is accurate. With 'vta:false', the PAG construction is
fast ~6 seconds, but I run out of patience waiting for the call-graph.

'rta:true' does not have any effect for me.

Is it possible to use spark and vta/rta only on the application
classes to produces a partial call-graph faster?

I would appreciate any pointers to documentation or examples.

Thanks in advance,
Raghav


More information about the Soot-list mailing list