[Soot-list] CallGraph creation difficulties

Henddher Pedroza hpedro2 at uic.edu
Wed May 1 18:08:42 EDT 2013


Hello all,

I am having issues with inter procedural call-graph construction. 

Consider the following code:

Class A {
  String s;
  void m0(boolean b) {
      if (b)
          m1();
      else
          m2();
  }
  void m1() {
    this.s = String.valueOf(true);
  }
  void m2() {
    this.s = String.valueOf(false);
  }
}

Inside my SceneTransformer (of my IFDS impl), I create a cg as follows:
cg = new JimpleBasedInterproceduralCFG();

When I inspect the cg created, I observe the following:

1. When using cg option "-p cg all-reachable:true,verbose:true,safe-forname:true,safe-newinstance:true", the constructed cg looks ok (I see edges from m0 to m1 and m2 correctly).

2. When using the options above in addition to "-p cg.spark verbose:true", the constructed cg shows NO edges at all (cg.edges is empty). Also, cg.srcMethodToEdge, cg.srcUnitToEdge, and cg.tgtToEdge Maps are all empty too.

I am explicitly setting only ONE entry point: 
<A: m0(boolean> 

Any advice?

Thanks in advance.

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


More information about the Soot-list mailing list