<div dir="ltr">ditto !<br><br>On Tuesday, May 13, 2014 at 7:40:23 AM UTC-7, Marc-André Laverdière wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">Hallo,
<br>
<br>I wanted to know if anybody worked on this lately...
<br>
<br>Marc-André Laverdière-Papineau
<br>Doctorant - PhD Candidate
<br>
<br>On 08/26/2013 01:43 AM, Bernhard Berger wrote:
<br>&gt; Hi Thomas,
<br>&gt; 
<br>&gt; I think you can use the dominator information (see [1]) to calculate the
<br>&gt; results. Perhaps you can try [2].
<br>&gt; 
<br>&gt; 
<br>&gt; Regards,
<br>&gt; Bernhard
<br>&gt; 
<br>&gt; [1] <a href="http://en.wikipedia.org/wiki/Dominator_(graph_theory)" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDominator_(graph_theory)\46sa\75D\46sntz\0751\46usg\75AFQjCNGX76e7zWn3q26qubSJCYL-eLIWhw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDominator_(graph_theory)\46sa\75D\46sntz\0751\46usg\75AFQjCNGX76e7zWn3q26qubSJCYL-eLIWhw';return true;">http://en.wikipedia.org/wiki/<wbr>Dominator_(graph_theory)</a>
<br>&gt; [2]
<br>&gt; <a href="http://www.sable.mcgill.ca/soot/doc/soot/toolkits/graph/SimpleDominatorsFinder.html" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.sable.mcgill.ca%2Fsoot%2Fdoc%2Fsoot%2Ftoolkits%2Fgraph%2FSimpleDominatorsFinder.html\46sa\75D\46sntz\0751\46usg\75AFQjCNGw7i6RO9Nr5IXwltJ0bxLXx-E4xw';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.sable.mcgill.ca%2Fsoot%2Fdoc%2Fsoot%2Ftoolkits%2Fgraph%2FSimpleDominatorsFinder.html\46sa\75D\46sntz\0751\46usg\75AFQjCNGw7i6RO9Nr5IXwltJ0bxLXx-E4xw';return true;">http://www.sable.mcgill.ca/<wbr>soot/doc/soot/toolkits/graph/<wbr>SimpleDominatorsFinder.html</a> 
<br>&gt; Am 15.08.2013 um 19:15 schrieb Herr Thomas Vogel &lt;<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OGxvNPFx_fQJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">vogel....@me.com</a>
<br>&gt; &lt;mailto:<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OGxvNPFx_fQJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">vogel....@me.com</a>&gt;&gt;:
<br>&gt; 
<br>&gt;&gt; Hi everybody,
<br>&gt;&gt;
<br>&gt;&gt; I' ve following issue:
<br>&gt;&gt; I want to know if a statement in jimple depends on an specific IfStmt.
<br>&gt;&gt; Is there any solution for solving this problem.
<br>&gt;&gt;
<br>&gt;&gt; For example following Java code:
<br>&gt;&gt;
<br>&gt;&gt; public void dependsOnIf() {
<br>&gt;&gt; boolean a = true;
<br>&gt;&gt; if (a) {
<br>&gt;&gt; System.out.println("Depends on 'if (a)' -&gt; if-branch.");
<br>&gt;&gt; } else {
<br>&gt;&gt; System.out.println("Depends on 'if (a)' -&gt; else-branch.");
<br>&gt;&gt; }
<br>&gt;&gt; System.out.println("Depends on nothing.");
<br>&gt;&gt; }
<br>&gt;&gt;
<br>&gt;&gt; Results in the following jimple code (attached is the desired result
<br>&gt;&gt; as comment):
<br>&gt;&gt;
<br>&gt;&gt; this := @this: TaintTrackingTest /* depends on nothing */
<br>&gt;&gt; a = 1 /* depends on nothing */
<br>&gt;&gt; if a == 0 goto nop /* depends on nothing */
<br>&gt;&gt; nop
<br>&gt;&gt; temp$1 = &lt;java.lang.System: java.io.PrintStream out&gt; &nbsp;/* depends on if
<br>&gt;&gt; a == 0 */
<br>&gt;&gt; virtualinvoke temp$1.&lt;java.io.PrintStream: void
<br>&gt;&gt; print(java.lang.String)&gt;("<wbr>Depends on \'if (a)\' -&gt; else-branch.") /*
<br>&gt;&gt; depends on if a == 0 */
<br>&gt;&gt; goto [?= nop]
<br>&gt;&gt; nop
<br>&gt;&gt; temp$0 = &lt;java.lang.System: java.io.PrintStream out&gt; /* depends on if
<br>&gt;&gt; a == 0 */
<br>&gt;&gt; virtualinvoke temp$0.&lt;java.io.PrintStream: void
<br>&gt;&gt; println(java.lang.String)&gt;("<wbr>Depends on \'if (a)\' -&gt; if-branch.") /*
<br>&gt;&gt; depends on if a == 0 */
<br>&gt;&gt; goto [?= nop]
<br>&gt;&gt; nop
<br>&gt;&gt; temp$2 = &lt;java.lang.System: java.io.PrintStream out&gt; /* depends on
<br>&gt;&gt; nothing */
<br>&gt;&gt; virtualinvoke temp$2.&lt;java.io.PrintStream: void
<br>&gt;&gt; println(java.lang.String)&gt;("<wbr>Depends on nothing.") /* depends on nothing */
<br>&gt;&gt; return
<br>&gt;&gt;
<br>&gt;&gt; Regards, 
<br>&gt;&gt; Thomas
<br>&gt;&gt; ______________________________<wbr>_________________
<br>&gt;&gt; Soot-list mailing list
<br>&gt;&gt; <a href="javascript:" target="_blank" gdf-obfuscated-mailto="OGxvNPFx_fQJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Soot...@sable.mcgill.ca</a> &lt;mailto:<a href="javascript:" target="_blank" gdf-obfuscated-mailto="OGxvNPFx_fQJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Soot...@sable.<wbr>mcgill.ca</a>&gt;
<br>&gt;&gt; <a href="http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fmailman.cs.mcgill.ca%2Fmailman%2Flistinfo%2Fsoot-list\46sa\75D\46sntz\0751\46usg\75AFQjCNGIlTQf7e73va372uZ0ef3qj5-Eqg';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fmailman.cs.mcgill.ca%2Fmailman%2Flistinfo%2Fsoot-list\46sa\75D\46sntz\0751\46usg\75AFQjCNGIlTQf7e73va372uZ0ef3qj5-Eqg';return true;">http://mailman.cs.mcgill.ca/<wbr>mailman/listinfo/soot-list</a>
<br>&gt; 
<br>&gt; 
<br>&gt; 
<br>&gt; ______________________________<wbr>_________________
<br>&gt; Soot-list mailing list
<br>&gt; <a href="javascript:" target="_blank" gdf-obfuscated-mailto="OGxvNPFx_fQJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Soot...@sable.mcgill.ca</a>
<br>&gt; <a href="http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fmailman.cs.mcgill.ca%2Fmailman%2Flistinfo%2Fsoot-list\46sa\75D\46sntz\0751\46usg\75AFQjCNGIlTQf7e73va372uZ0ef3qj5-Eqg';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fmailman.cs.mcgill.ca%2Fmailman%2Flistinfo%2Fsoot-list\46sa\75D\46sntz\0751\46usg\75AFQjCNGIlTQf7e73va372uZ0ef3qj5-Eqg';return true;">http://mailman.cs.mcgill.ca/<wbr>mailman/listinfo/soot-list</a>
<br>&gt; 
<br>______________________________<wbr>_________________
<br>Soot-list mailing list
<br><a href="javascript:" target="_blank" gdf-obfuscated-mailto="OGxvNPFx_fQJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Soot...@CS.McGill.CA</a>
<br><a href="https://mailman.CS.McGill.CA/mailman/listinfo/soot-list" target="_blank" rel="nofollow" onmousedown="this.href='https://www.google.com/url?q\75https%3A%2F%2Fmailman.CS.McGill.CA%2Fmailman%2Flistinfo%2Fsoot-list\46sa\75D\46sntz\0751\46usg\75AFQjCNESpIFG08DX_QShQ4aH7soZrrlBBw';return true;" onclick="this.href='https://www.google.com/url?q\75https%3A%2F%2Fmailman.CS.McGill.CA%2Fmailman%2Flistinfo%2Fsoot-list\46sa\75D\46sntz\0751\46usg\75AFQjCNESpIFG08DX_QShQ4aH7soZrrlBBw';return true;">https://mailman.CS.McGill.CA/<wbr>mailman/listinfo/soot-list</a>
<br></blockquote></div>