<div dir="ltr"><div>Hello Soot-Community<br><br>I am facing a problem with IFDSReachingDefinitions.<br><br>I am trying to get reaching definitions for the following function.<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:verdana,sans-serif">public void foo()<br>{<br>1     TestLoop this;<br>2     java.io.PrintStream $r0;<br>3     int j;<br><br>4     this := @this: TestLoop;<br><br>5     j = 0;<br><br>6    label1:<br>7     if j >= 10 goto label2;<br><br>8     $r0 = <java.lang.System: java.io.PrintStream out>;<br><br>9     virtualinvoke $r0.<java.io.PrintStream: void println(int)>(j);<br><br>10    j = j + 1;<br><br>11    goto label1;<br><br>12    label2:<br>13       return;<br>}</span><br></blockquote><br><br>for line 7 reaching defs should be line 5 and line 10.<br><br>But after using this code, I'm not getting any reaching defs.<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:verdana,sans-serif">*******Code********<br>Set<Pair<Value, Set<DefinitionStmt>>> results = new HashSet<Pair<Value, Set<DefinitionStmt>>>();<br><br>JimpleBasedInterproceduralCFG icfg = new JimpleBasedInterproceduralCFG();<br><br>IFDSTabulationProblem<Unit, Pair<Value, Set<DefinitionStmt>>, SootMethod, InterproceduralCFG<Unit, SootMethod>> <br>    problem = (IFDSTabulationProblem) new IFDSReachingDefinitions(icfg);<br><br>JimpleIFDSSolver<Pair<Value, Set<DefinitionStmt>>, InterproceduralCFG<Unit, SootMethod>> <br>solver = new JimpleIFDSSolver<Pair<Value, Set<DefinitionStmt>>, InterproceduralCFG<Unit, SootMethod>>(problem, true);<br><br>solver.solve();<br><br>results.addAll((Collection<? extends Pair<Value, Set<DefinitionStmt>>>) solver.ifdsResultsAt(ret));<br>print(results);</span><br></blockquote><br>"results" is empty at this point.<br><br>I don't understand what I'm doing wrong. Any suggestions?<br clear="all"><br></div>Thanks,<br><br><div><div class="gmail_signature"><div dir="ltr"><font face="georgia,serif">--<span style="font-family:verdana,sans-serif">Nikhil</span></font><br></div></div>
</div></div>