[Soot-list] spark problem with "keep-original-names" option

Eric Bodden eric.bodden at mail.mcgill.ca
Tue Jul 14 10:26:15 EDT 2009


Hi Peng.

Can you show us the Jimple code of the "go" method when
use-original-names is enabled?

Cheers,
Eric

2009/7/14 LIU Peng <lpxz at ust.hk>:
> Hello:
>     I encounter a little problem while using spark to do point-to analysis
> one method is sparkwork() to build PAG, another method is sparkquery() to
> retrieve information about point-to relationship.
> but while I enable PhaseOptions.v().setPhaseOption("jb",
> "use-original-names:true") in sparkwork() (the code is in the last part),
> the sparkquery() would returns me a coarse result:
>
>
> the local variable i1 points to :
> AllocNode 4975 new Item in method <Test1: void go()>   type: Item
> AllocNode 4977 new Item in method <Test1: void go()>   type: Item
> the local variable i2 points to :
> AllocNode 4975 new Item in method <Test1: void go()>   type: Item
> AllocNode 4977 new Item in method <Test1: void go()>   type: Item
>
> For the subject method:
>        public void go() {
>                Container c1 = new Container();
>                Item i1 = new Item();// i1, alloc 4975
>                c1.setItem(i1);
>
>                Container c2 = new Container();
>                Item i2 = new Item();//i2, alloc 4977
>                c2.setItem(i2);
>
>
>
>                Container c3 = c2;
>        }
>
> while I comment out PhaseOptions.v().setPhaseOption("jb",
> "use-original-names:true");
>
> the running results are correct:
>
> the local variable r3 points to :
> AllocNode 4895 new Item in method <Test1: void go()>   type: Item
> the local variable r5 points to :
> AllocNode 4897 new Item in method <Test1: void go()>   type: Item
> As we see, i1 ,i2 are renamed to be r3, r5 because the
> "use-original-names" option is closed.
>
> Can you give me some suggestion about what is wrong with the usage?
> and how can I keep original names ?
>
>
>
>        private static void sparkWork() {
>                System.out.println("[spark] Starting analysis ...");
>
>                HashMap opt = new HashMap();
>
>
>                //
>                opt.put("enabled","true");
>                opt.put("verbose","false");
>                opt.put("ignore-types","false");
>                opt.put("force-gc","false");
>                opt.put("pre-jimplify","true");
>                opt.put("vta","false");
>                opt.put("rta","false");
>                opt.put("field-based","false");
>                opt.put("types-for-sites","false");
>                opt.put("merge-stringbuffer","true");
>                opt.put("string-constants","false");
>                opt.put("simulate-natives","true");
>                opt.put("simple-edges-bidirectional","false");
>                opt.put("on-fly-cg","true");
>                opt.put("simplify-offline","false");
>                opt.put("simplify-sccs","false");
>                opt.put("ignore-types-for-sccs","false");
>                opt.put("propagator","worklist");
>                opt.put("set-impl","double");
>                opt.put("double-set-old","hybrid");
>                opt.put("double-set-new","hybrid");
>                opt.put("dump-html","false");
>                opt.put("dump-pag","false");
>                opt.put("dump-solution","false");
>                opt.put("topo-sort","false");
>                opt.put("dump-types","true");
>                opt.put("class-method-var","true");
>                opt.put("dump-answer","false");
>                opt.put("add-tags","true");
>                opt.put("set-mass","false");
>
>                PhaseOptions.v().setPhaseOption("jb", "use-original-names:true");
>                PhaseOptions.v().setPhaseOption("cg.spark", "enabled:true");
>                SparkTransformer.v().transform("",opt);
>                System.out.println("[spark] Done!");
>
>        }
>
>
> Regards
>
> Peng
>
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Eric Bodden
Sable Research Group, McGill University
Montréal, Québec, Canada


More information about the Soot-list mailing list