<html><body><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:13px"><div id="yui_3_16_0_1_1435795709338_30539"><span>Hi,</span></div><div id="yui_3_16_0_1_1435795709338_30539"><span><br></span></div><div id="yui_3_16_0_1_1435795709338_30539"><span id="yui_3_16_0_1_1435795709338_30739">I am using soot to perform pont-to-set analysis by following code:</span></div><div></div><div id="yui_3_16_0_1_1435795709338_30447">&nbsp;</div><div id="yui_3_16_0_1_1435795709338_30447">







<div class="" id="yui_3_16_0_1_1435795709338_30538"><span class="" id="yui_3_16_0_1_1435795709338_30874">for</span> (MethodAnalysis <span class="" id="yui_3_16_0_1_1435795709338_30880">methodAnalysis</span> : <span class="">allAnalysis</span>.values()) {</div>
<div class="" id="yui_3_16_0_1_1435795709338_30541">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SootMethod <span class="" id="yui_3_16_0_1_1435795709338_30912">method</span> = <span class="">methodAnalysis</span>.getMethod();</div>
<div class="" id="yui_3_16_0_1_1435795709338_30542">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ExceptionalUnitGraph <span class="">graph</span> = <span class="" id="yui_3_16_0_1_1435795709338_30721">methodAnalysis</span>.getGraph();</div>
<div class="" id="yui_3_16_0_1_1435795709338_30543"><br class=""></div>
<div class="" id="yui_3_16_0_1_1435795709338_30545">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Iterator&lt;Unit&gt; <span class="" id="yui_3_16_0_1_1435795709338_30913">iter</span> = <span class="" id="yui_3_16_0_1_1435795709338_30907">graph</span>.iterator();</div>
<div class="" id="yui_3_16_0_1_1435795709338_30546">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="" id="yui_3_16_0_1_1435795709338_30580">while</span> (<span class="" id="yui_3_16_0_1_1435795709338_30579">iter</span>.hasNext()) {</div>
<div class="" id="yui_3_16_0_1_1435795709338_30548">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Unit <span class="" id="yui_3_16_0_1_1435795709338_30547">unit</span> = <span class="" id="yui_3_16_0_1_1435795709338_30549">iter</span>.next();</div>
<div class="" id="yui_3_16_0_1_1435795709338_30561">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;List&lt;ValueBox&gt; <span class="" id="yui_3_16_0_1_1435795709338_30560">valueBoxes</span> = <span class="" id="yui_3_16_0_1_1435795709338_30569">unit</span>.getUseAndDefBoxes();</div>
<div class="" id="yui_3_16_0_1_1435795709338_30568">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="" id="yui_3_16_0_1_1435795709338_30581">for</span> (ValueBox <span class="" id="yui_3_16_0_1_1435795709338_30593">valueBox</span> : <span class="" id="yui_3_16_0_1_1435795709338_30696">valueBoxes</span>) {</div>
<div class="" id="yui_3_16_0_1_1435795709338_30577">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Value <span class="" id="yui_3_16_0_1_1435795709338_30594">value</span> = <span class="" id="yui_3_16_0_1_1435795709338_30595">valueBox</span>.getValue();</div>
<div class="" id="yui_3_16_0_1_1435795709338_30597">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="" id="yui_3_16_0_1_1435795709338_30599">if</span> (<span class="" id="yui_3_16_0_1_1435795709338_30598">value</span> <span class="" id="yui_3_16_0_1_1435795709338_30596">instanceof</span> Local) {</div>
<div class="" id="yui_3_16_0_1_1435795709338_30600">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Local <span class="" id="yui_3_16_0_1_1435795709338_30601">local</span> = (Local) <span class="">value</span>;</div>
<div class="" id="yui_3_16_0_1_1435795709338_30602">







</div><div class="" dir="ltr" id="yui_3_16_0_1_1435795709338_30662">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PointsToSet <span class="" id="yui_3_16_0_1_1435795709338_30663">localPTSet</span> = <span class="" id="yui_3_16_0_1_1435795709338_30664">pta</span>.reachingObjects(local);</div><div class="" dir="ltr" id="yui_3_16_0_1_1435795709338_30662">







</div><div class="" dir="ltr" id="yui_3_16_0_1_1435795709338_30684">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PointsToSet <span class="" id="yui_3_16_0_1_1435795709338_30883">deadlinePTSet</span> = <span class="" id="yui_3_16_0_1_1435795709338_30716">pointsToSetMap</span>.get(<span class="">loc</span>);</div><div class="" dir="ltr" id="yui_3_16_0_1_1435795709338_30684">







</div><div class="" dir="ltr" id="yui_3_16_0_1_1435795709338_30695"><span class="" id="yui_3_16_0_1_1435795709338_30698">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if</span>(<span class="" id="yui_3_16_0_1_1435795709338_30697">localPTSet</span>.hasNonEmptyIntersection(<span class="" id="yui_3_16_0_1_1435795709338_30720">deadlinePTSet</span>)) {}</div>
<div class="" id="yui_3_16_0_1_1435795709338_30603"><span class="" id="yui_3_16_0_1_1435795709338_30604">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></div>
<div class="" id="yui_3_16_0_1_1435795709338_30643">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div class="" id="yui_3_16_0_1_1435795709338_30642">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div class="" id="yui_3_16_0_1_1435795709338_30641"><br class=""></div>
<div class="" id="yui_3_16_0_1_1435795709338_30625">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div class="" id="yui_3_16_0_1_1435795709338_30640">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="" id="yui_3_16_0_1_1435795709338_30640"><br></div><div class="" id="yui_3_16_0_1_1435795709338_30640" dir="ltr">The problem is that "<span class="" id="yui_3_16_0_1_1435795709338_30599">if</span>&nbsp;(<span class="" id="yui_3_16_0_1_1435795709338_30598">value</span>&nbsp;<span class="" id="yui_3_16_0_1_1435795709338_30596">instanceof</span>&nbsp;Local){} " statement is never executed. Is there any way to solve this issue? Can you give me a sample code on point-to-set analysis?</div><div class="" id="yui_3_16_0_1_1435795709338_30640" dir="ltr"><br></div><div class="" id="yui_3_16_0_1_1435795709338_30640" dir="ltr">Regards,</div><div class="" id="yui_3_16_0_1_1435795709338_30640" dir="ltr">Marjan</div>
<div class="" dir="ltr" id="yui_3_16_0_1_1435795709338_30624">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div></div><div class="signature" id="yui_3_16_0_1_1435795709338_30445"><div class="yiv9426486400" id="yiv9426486400yui_3_16_0_1_1426188032239_18320" style="font-size:13px;font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:rgb(255, 255, 255);"><div class="yiv9426486400" id="yiv9426486400yui_3_16_0_1_1426188032239_71660" style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:'Times New Roman', serif;"><br></div></div></div></div></body></html>