<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-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@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 Pegah,<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'>The Soot plugin for Eclipse isn’t using the newest version of Soot. This is something we should fix at some point, but the whole plugin hasn’t been worked on for some years now. What you can try, is to locate the Soot JAR file inside the plugin (should be inside your Eclipse plugins directory) and replace it with the newest nightly build. Hopefully, you will get the same results then from both the plugins and the “normal” Soot.<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><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>Pegah Jandaghi<br><b>Gesendet:</b> Freitag, 3. April 2015 13:39<br><b>An:</b> Soot-list@cs.mcgill.ca<br><b>Betreff:</b> [Soot-list] Problem with line numbers and variable names<o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>Hello everyone<o:p></o:p></p><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I've been using soot eclipse plugin for running a simple method. And now I'm trying to run the method without plugin but the result of method is different for the same class:<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>the method is:<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><div><p class=MsoNormal>public static void Analysis(CompleteUnitGraph graph) {<o:p></o:p></p></div></div><div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp;Iterator unitIt = graph.iterator();<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp;    for (Unit unit : graph) {<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp;     G.v().out.println(unit.toString());<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp; if (unit.t.getTag(&quot;SourceLnPosTag&quot;) != null)<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;G.v().out.println( ((SourceLnPosTag) unit.getTag(&quot;SourceLnPosTag&quot;)).startLn();<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp; }<o:p></o:p></p></div></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>and the simple class which I want to show the units is:<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>public class foo{<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp;public static void main(String[] args){<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int a = 1;<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(a);&nbsp;<o:p></o:p></p></div><div><p class=MsoNormal>&nbsp; &nbsp; &nbsp;}<o:p></o:p></p></div><div><p class=MsoNormal>}<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>and &nbsp;main method which invokes Analysis on foo is :<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><div><p class=MsoNormal>String sep = File.separator;<o:p></o:p></p></div><div><p class=MsoNormal>String pathSep = File.pathSeparator; <o:p></o:p></p></div><div><p class=MsoNormal>String path =System.getProperty(&quot;java.home&quot;) + sep + &quot;lib&quot; + sep+ &quot;rt.jar&quot; + pathSep + &nbsp;System.getProperty(&quot;java.home&quot;) + sep+&quot;lib&quot; + sep + &quot;jce.jar&quot; + path + fooPath;<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>Options.v().set_soot_classpath(path);<o:p></o:p></p></div><div><p class=MsoNormal>Options.v().set_keep_line_number(true);<o:p></o:p></p></div><div><p class=MsoNormal>Options.v().setPhaseOption(&quot;jb&quot;, &quot;use-original-names:true&quot;);<o:p></o:p></p></div><div><p class=MsoNormal>SootClass sClass = Scene.v().loadClassAndSupport(&quot;foo&quot;);<o:p></o:p></p></div><div><p class=MsoNormal>sClass.setApplicationClass();<o:p></o:p></p></div><div><p class=MsoNormal>Scene.v().loadNecessaryClasses();    <o:p></o:p></p></div><div><p class=MsoNormal>Body body = sClass.getMethodByName(&quot;main&quot;).retrieveActiveBody();<o:p></o:p></p></div><div><p class=MsoNormal>Analysis(new CompleteUnitGraph(body));<o:p></o:p></p></div><div><p class=MsoNormal>                        <o:p></o:p></p></div></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>The first problem is that for all of the units &quot;SourceLnPosTag&quot; is null.<o:p></o:p></p></div><div><p class=MsoNormal>and the second problem is that the units have different variable names.<o:p></o:p></p></div><div><p class=MsoNormal>Is there any way to get the same units without using plugin?<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>Thanks <o:p></o:p></p></div></div></div></body></html>