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

Re: Spark newbie question



Ercasta wrote:
Hi
I have a question to ask about Call Graph generation in Soot.
I have tried building the CallGraph using CallGraphBuilder. As
already reported by other users on this mailing list, calling "build()"
from class CallGraphBuilder causes the program to start a very long
computation, eventually terminating after 10 minutes with a
"OutOfMemoryException". So I tried using Spark, because someone in this
mailing list managed to obtain a call graph
( http://www.sable.mcgill.ca/listarchives/soot-list/msg01305.html )
within 10 seconds. This worked for a small class, but then I added a
Vector variable in one of the methods, and Spark started again with the
long computation. I tried with "propagator" "none", but this causes all
virtualinvoke statements to be omitted from the call graph.
So I'd like to ask you: is there a way to obtain smaller pieces of the
call graph in a resonable amount of time, without excluding
virtualinvoke edges? Thanks


Antonio Castaldo D'Ursi


You might simply try:


java -Xmx1000m soot.Main -p cg.spark on -include-all -w --app <Main>

adjusting the 1000m to whatever your machine's memory allows. This gives the JVM more heap space (memory). Let us know if it works.

Cheers,
Chris