[Soot-list] RTA callgraph

Pierre Caserta pierre.caserta at loria.fr
Wed Jan 11 11:09:24 EST 2012


Hi everybody, I wish you all a happy new year, 
Lately I have been trying to generate the RTA callgraph using soot and spark but it does work and I cannot figure it out why. 
(CHA works fine, I do it like this: CHATransformer.v().transform(); CallGraph cg = Scene.v().getCallGraph();) 
For RTA I tried: 
Options.v().set_whole_program(true); 
Options.v().set_include_all(true); 
TreeMap<String,String> map = new TreeMap(); 
map.put("cg.spark","on"); 
//map.put("enabled","true"); 
map.put("verbose","true"); 
map.put("on-fly-cg","false"); 
//map.put("simulates-natives","false"); 
//map.put("propagator","iter"); 
map.put("set-impl","hash"); 
//map.put("propagator","iter"); 
//map.put("dump-html","true"); 
//map.put("conf","cha-aot"); 
map.put("rta","true"); 

SparkOptions spark_options = new SparkOptions(map); 
PAG pag = cg_ins_builder.setup(spark_options); 
cg_ins_builder.build(); 

cg_builder = new CallGraphBuilder(pag); 
cg_builder.build(); 
CallGraph cg = cg_builder.getCallGraph(); 

It does not work, it gives just the entry point and the methods it can directly reach. 
I modified the propagator option but still it does not work. 

I tried: 
PhaseOptions.v().setPhaseOption( "cg.spark", "enabled" ); 
PhaseOptions.v().setPhaseOption( "cg.spark", "rta" ); 
PackManager.v().getPack("cg").apply(); 
CallGraph cg = Scene.v().getCallGraph(); 

It gives the same result as the previous example. 

I tried this: 
Options.v().set_whole_program(true); 
Options.v().set_include_all(true); 
SparkTransformer.v().transform("cg", map); //with the map of the previews example 
CallGraph cg = Scene.v().getCallGraph(); 

I obtain: 
Exception in thread "main" java.lang.RuntimeException: No call graph present in Scene. Maybe you want Whole Program mode (-w). 

Can anybody help me, please ? 
Best Regards, 

Pierre Caserta 
Nancy-Université INPL / LORIA, 
Office C-121, 
615 Rue du Jardin Botanique, CS 20101 
54603 VILLERS-LES-NANCY Cedex, FRANCE 
Phone: (+33) (0)3 54 95 86 18 
Email: Pierre.Caserta at loria.fr 
Web: www.loria.fr/~casertap 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120111/d8ebb2de/attachment.html 


More information about the Soot-list mailing list