[Soot-list] Precise Object Sensitive Call Graph

Ashish Mishra ashish123.mishragkp at gmail.com
Mon Dec 15 03:01:23 EST 2014


Hi All,

I have a basic confusion about generating precise object sensitive call
Graph using Paddle Pointer analysis tool

Consider a simple example-

*public class ClassA{*
* public static void main(String[] args) {*
*s1 ClassB classb1 = new ClassB();*
* classb1.execute();*
* s2 ClassB classb2 = new ClassB();*
* classb2.execute();*
* }*
*}*
*class ClassB{*
*void execute(){*
* System.out.println("ClassB is being executed ");*
* otherTestMethod();*
*}*
*void otherTestMethod(){*
* System.out.println("Base object "+this.toString());*
* }*
*}*


with following paddle options (Not sure about all of them but tried being
as precise as possible)
*HashMap opt = new HashMap();*
*            opt.put("enabled","true");*
*            opt.put("verbose","true");*
*            opt.put("bdd","true");*
*            opt.put("backend","buddy");*
*            opt.put("context","kcfa");*
*            opt.put("context-heap", "true");*
*           // opt.put("context-counts","true");*
*            opt.put("k","3");*
*            opt.put("propagator","auto");*
*            opt.put("conf","ofcg-aot");*
*            opt.put("order","32");*
*            opt.put("q","auto");*
*            opt.put("set-impl","double");*
*            opt.put("double-set-old","hybrid");*
*            opt.put("double-set-new","hybrid");*
*            opt.put("pre-jimplify","false");*
*            opt.put("whole-program", "true");*
*            opt.put("context-heap","true");*
*            opt.put("context-counts", "true");*
*            PaddleTransformer pt = new PaddleTransformer();*
*            PaddleOptions paddle_opt = new PaddleOptions(opt);*
*            pt.setup(paddle_opt);*
*            pt.solve(paddle_opt);*


I should be getting two *virtualInvoke* edges to *otherTestMethod *if i am
not mistaken (with k=3), but i am getting only a single call to the method
with the *this* object of ClassB as baseRef.

Is this correct and or i am missing something here.

Thanks

-- 
Regards,
Ashish Mishra
Graduate Student,
Computer Science and Automation Department,IISc
Cell : +91-9611194714
Mailto : ashishmishra at csa.iisc.ernet.in
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20141215/ea5ac717/attachment.html 


More information about the Soot-list mailing list