[Soot-list] Soot and Heros : getting OutOfMemoryError : HeapSpace

Utsav Chokshi uvc.smart.29 at gmail.com
Tue Mar 4 02:11:26 EST 2014


Hello Eric,

Below is my code for setting options :

//Setting options for soot

Options.v().set_verbose(

false);
Options.v().set_keep_line_number(true);
Options.v().set_output_format(Options.output_format_jimple);
Options.v().set_whole_program(true);
Options.v().set_exclude(Arrays.asList("java", "sun"));
Options.v().no_bodies_for_excluded();

// Setting jimple phase options for soot
PhaseOptions.v().setPhaseOption("jb","enabled:true");
PhaseOptions.v().setPhaseOption("jb","use-original-names:true");
PhaseOptions.v().setPhaseOption("jtp", "enabled:true");

// Setting call-graph i.e. cg phase options for soot
PhaseOptions.v().setPhaseOption("cg", "enabled:true");
PhaseOptions.v().setPhaseOption("cg.spark","enabled:true");

Below is code written under MySceneTransformer class's InternalTransform
method :

SootMethod mainMethod=mainClass.getMethod("void main(java.lang.String[])");
JimpleBasedInterproceduralCFG icfg=newJimpleBasedInterproceduralCFG();
IFDSTabulationProblem<Unit,Pair<Value,Set<DefinitionStmt>>,SootMethod,InterproceduralCFG<Unit,SootMethod>>
problem=
new IFDSReachingDefinitions(icfg);
System.out.println("Number of threads :" + problem.numThreads());

JimpleIFDSSolver<Pair<Value, Set<DefinitionStmt>>, InterproceduralCFG<Unit,
SootMethod>> solver =
new JimpleIFDSSolver<Pair<Value, Set<DefinitionStmt>>,
InterproceduralCFG<Unit, SootMethod>>(problem,true);

System.out.println("Started Solving....");
solver.solve();
System.out.println("Completed Solving....");

For code having single class and single method :
Call-Graph generation takes : 30.7 secs
Solver takes : almost 3 minutes
Number of threads : 16

- Utsav Chokshi
[ Intern ,TCS Innovation Labs , Pune, India]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20140304/40006b7a/attachment.html 


More information about the Soot-list mailing list