[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Limiting whole-program analysis



After reading the soot-docs, esp. tutorial.pdf, and a bit of fiddling with invoking soot, i've come to the conclusion that call-graphs and points-to analysis requires soot to run in whole-program mode (as expected :)

However, with the simple A.java:

public class A { public static int f(int a, int b) { return a+b; }; }

The whole-program analysis of course traverses java.lang.Object (since A extends this class) and that leads to java.lang.Class, which opens a transitive closure of immense proportions.

The whole-program analysis for the "cg" pack alone then takes >20 mins and uses more than 250Mb of java heap-space.

I've tried "-x java -x java.lang" to stop the closure at A, but that doesn't work for me.

What should I do? where is it described what I should do to stop the transitive traversal? any hints appreciated.

--
Helge