<div dir="ltr"><div><div><div>Hi guys,<br></div>    this is a example:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">    public void test(){<br>        String sourceOne = sourceOne(10); // source<br>        foo(sourceOne);<br>        foo(sourceOne);<br>    }<br><br>    public String sourceOne(int number){<br>        return number&gt;0 ? &quot;positive&quot; : &quot;negative&quot;;<br>    }<br>    <br>    public void foo(String s){<br>        System.out.println(s); // sink<br>    }<br></blockquote>  <br></div>  the method sourceOne is a source and System.out.println() is a sink.<br><br></div>  After analysis, I get the following result:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">[main] INFO soot.jimple.infoflow.Infoflow - Source lookup done, found 1 sources and 1 sinks.<br>[main] INFO soot.jimple.infoflow.Infoflow - IFDS problem with 14 forward and 0 backward edges solved, processing 1 results...<br>[main] INFO soot.jimple.infoflow.data.pathBuilders.ContextSensitivePathBuilder - Context-sensitive path reconstructor started<br>[main] INFO soot.jimple.infoflow.data.pathBuilders.ContextSensitivePathBuilder - Obtainted 1 connections between sources and sinks<br>[main] INFO soot.jimple.infoflow.data.pathBuilders.ContextSensitivePathBuilder - Building path 1<br>[main] INFO soot.jimple.infoflow.data.pathBuilders.ContextSensitivePathBuilder - Path processing took 0.008987293 seconds in total<br>[main] INFO soot.jimple.infoflow.Infoflow - The sink virtualinvoke $r2.&lt;java.io.PrintStream: void println(java.lang.String)&gt;(r1) in method &lt;TestCode: void foo(java.lang.String)&gt; was called with values from the following sources:<br>[main] INFO soot.jimple.infoflow.Infoflow - - r1 = virtualinvoke r0.&lt;TestCode: java.lang.String sourceOne(int)&gt;(10) in method &lt;TestCode: void test()&gt;<br>[main] INFO soot.jimple.infoflow.Infoflow -     on Path: <br>[main] INFO soot.jimple.infoflow.Infoflow -      -&gt; &lt;TestCode: void foo(java.lang.String)&gt;<br>[main] INFO soot.jimple.infoflow.Infoflow -          -&gt; virtualinvoke $r2.&lt;java.io.PrintStream: void println(java.lang.String)&gt;(r1)<br></blockquote><div><br></div><div> I want to know how to get a context-sensitive result, in which  sourceOne() will point to 2 different system.out.println()<br><br></div><div>Thx,<br></div><div>Rainkin<br></div></div>