<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Marjan,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If the values are not Locals, what else are they? You should step through the code with a debugger to see where you don’t find any values, i.e., whether the type is actually not a Local, but something else, or whether your loops are not executed in the first place.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>  Steven<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> soot-list-bounces@CS.McGill.CA [mailto:soot-list-bounces@CS.McGill.CA] <b>Im Auftrag von </b>Marjan Radi<br><b>Gesendet:</b> Montag, 6. Juli 2015 03:16<br><b>An:</b> Soot List<br><b>Betreff:</b> [Soot-list] Point-to-set Analysis<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div id="yui_3_16_0_1_1435795709338_30539"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>Hi,<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30539"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30539"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>I am using soot to perform pont-to-set analysis by following code:<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30447"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30447"><div id="yui_3_16_0_1_1435795709338_30538"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>for (MethodAnalysis methodAnalysis : allAnalysis.values()) {<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30541"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SootMethod method = methodAnalysis.getMethod();<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30542"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ExceptionalUnitGraph graph = methodAnalysis.getGraph();<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30543"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30545"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Iterator&lt;Unit&gt; iter = graph.iterator();<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30546"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while (iter.hasNext()) {<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30548"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Unit unit = iter.next();<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30561"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;List&lt;ValueBox&gt; valueBoxes = unit.getUseAndDefBoxes();<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30568"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (ValueBox valueBox : valueBoxes) {<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30577"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Value value = valueBox.getValue();<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30597"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (value instanceof Local) {<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30600"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Local local = (Local) value;<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30662"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&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 localPTSet = pta.reachingObjects(local);<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30684"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PointsToSet deadlinePTSet = pointsToSetMap.get(loc);<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30695"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&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(localPTSet.hasNonEmptyIntersection(deadlinePTSet)) {}<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30603"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30643"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30642"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30641"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30625"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30640"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30640"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30640"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>The problem is that &quot;if&nbsp;(value&nbsp;instanceof&nbsp;Local){} &quot; statement is never executed. Is there any way to solve this issue? Can you give me a sample code on point-to-set analysis?<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30640"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p>&nbsp;</o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30640"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>Regards,<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30640"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>Marjan<o:p></o:p></span></p></div><div id="yui_3_16_0_1_1435795709338_30624"><p class=MsoNormal style='background:white'><span style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<o:p></o:p></span></p></div></div><div id="yui_3_16_0_1_1435795709338_30445"><div id="yiv9426486400yui_3_16_0_1_1426188032239_18320"><div id="yiv9426486400yui_3_16_0_1_1426188032239_71660"><p class=MsoNormal style='background:white'><span style='color:black'><o:p>&nbsp;</o:p></span></p></div></div></div></div></div></body></html>