<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: An introduction to Soot 2.2.5</title>
	<atom:link href="http://www.bodden.de/tools/soot-225/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bodden.de</link>
	<description>Easy and efficient software verification</description>
	<lastBuildDate>Tue, 29 Jun 2010 07:07:16 +0200</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
	<item>
		<title>By: eric</title>
		<link>http://www.bodden.de/tools/soot-225/comment-page-1/#comment-6033</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Mon, 20 Apr 2009 03:08:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.bodden.de/tools/soot-225/#comment-6033</guid>
		<description>Hi Giri.

I assume that you are talking about SmartLocalDefs, used by the ReachingDefsTagger? If so, then the following holds: SmartLocalDefs gives you the reaching definitions of 	local variables. When &lt;code&gt;area&lt;/code&gt; is a local variable then print(...) obviously cannot write to it. Local variables can only be written to within the local method. They are, effectively, stack locations. Your advisor Lori is right in the case where &lt;code&gt;area&lt;/code&gt; is a field, but SimpleLocalDefs only gives information for local variables. Hope that clarifies things...

Eric</description>
		<content:encoded><![CDATA[<p>Hi Giri.</p>
<p>I assume that you are talking about SmartLocalDefs, used by the ReachingDefsTagger? If so, then the following holds: SmartLocalDefs gives you the reaching definitions of 	local variables. When <code>area</code> is a local variable then print(&#8230;) obviously cannot write to it. Local variables can only be written to within the local method. They are, effectively, stack locations. Your advisor Lori is right in the case where <code>area</code> is a field, but SimpleLocalDefs only gives information for local variables. Hope that clarifies things&#8230;</p>
<p>Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giriprasad</title>
		<link>http://www.bodden.de/tools/soot-225/comment-page-1/#comment-6032</link>
		<dc:creator>Giriprasad</dc:creator>
		<pubDate>Mon, 20 Apr 2009 01:28:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.bodden.de/tools/soot-225/#comment-6032</guid>
		<description>Hi Eric,

A small continuation of the doubt in my previous comment.

 The simple reaching def tagger that comes off the shelf with soot, simply ignores
outgoing calls? Is that correct behaviour? My advisor Lori Pollock  told me that conservatively a reaching def tagger must warn
you that the value could be modified within the call (please see the example)

Thanks
Giri</description>
		<content:encoded><![CDATA[<p>Hi Eric,</p>
<p>A small continuation of the doubt in my previous comment.</p>
<p> The simple reaching def tagger that comes off the shelf with soot, simply ignores<br />
outgoing calls? Is that correct behaviour? My advisor Lori Pollock  told me that conservatively a reaching def tagger must warn<br />
you that the value could be modified within the call (please see the example)</p>
<p>Thanks<br />
Giri</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giriprasad</title>
		<link>http://www.bodden.de/tools/soot-225/comment-page-1/#comment-6031</link>
		<dc:creator>Giriprasad</dc:creator>
		<pubDate>Mon, 20 Apr 2009 01:23:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.bodden.de/tools/soot-225/#comment-6031</guid>
		<description>Hi Eric,

 I am sorry to trouble you again, but I did not find a suitable answer in the
survivor&#039;s guide or the PLDI tutorial slides etc. 

 My issue is with reaching defs. Soot does intra-procedural reaching defs. But what
exactly does it do when it encounters a method call?

 Ex:

1 area = initialize(); 
2 area = computeArea();
3 print (area);
4 return area;

Soot tells (correctly) that the def on line 2 (but not line 1) reaches line 4. BUT how
did it know that line 3 did not assign to area? (assume area is a field or 
can be changed within print)

Thanks
Giri</description>
		<content:encoded><![CDATA[<p>Hi Eric,</p>
<p> I am sorry to trouble you again, but I did not find a suitable answer in the<br />
survivor&#8217;s guide or the PLDI tutorial slides etc. </p>
<p> My issue is with reaching defs. Soot does intra-procedural reaching defs. But what<br />
exactly does it do when it encounters a method call?</p>
<p> Ex:</p>
<p>1 area = initialize();<br />
2 area = computeArea();<br />
3 print (area);<br />
4 return area;</p>
<p>Soot tells (correctly) that the def on line 2 (but not line 1) reaches line 4. BUT how<br />
did it know that line 3 did not assign to area? (assume area is a field or<br />
can be changed within print)</p>
<p>Thanks<br />
Giri</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giriprasad S</title>
		<link>http://www.bodden.de/tools/soot-225/comment-page-1/#comment-5980</link>
		<dc:creator>Giriprasad S</dc:creator>
		<pubDate>Tue, 14 Apr 2009 23:02:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.bodden.de/tools/soot-225/#comment-5980</guid>
		<description>Vielen Dank! Eric. I will explore the survivor&#039;s guide to see how inter-procedural
analysis can be added (if I see the need for it)

Best Wishes
Giri</description>
		<content:encoded><![CDATA[<p>Vielen Dank! Eric. I will explore the survivor&#8217;s guide to see how inter-procedural<br />
analysis can be added (if I see the need for it)</p>
<p>Best Wishes<br />
Giri</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eric</title>
		<link>http://www.bodden.de/tools/soot-225/comment-page-1/#comment-5970</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Mon, 13 Apr 2009 19:49:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.bodden.de/tools/soot-225/#comment-5970</guid>
		<description>Hi. Very good question. The answer is simple, though: the reaching-definitions analysis in Soot is intra-procedural, which means that it does not consider outgoing method calls like the one from m1() to init(). What you are looking for is an inter-procedural RD analysis, but to the best of my knowledge Soot does not come with such an analysis out-of-the box.

Eric</description>
		<content:encoded><![CDATA[<p>Hi. Very good question. The answer is simple, though: the reaching-definitions analysis in Soot is intra-procedural, which means that it does not consider outgoing method calls like the one from m1() to init(). What you are looking for is an inter-procedural RD analysis, but to the best of my knowledge Soot does not come with such an analysis out-of-the box.</p>
<p>Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giriprasad S</title>
		<link>http://www.bodden.de/tools/soot-225/comment-page-1/#comment-5969</link>
		<dc:creator>Giriprasad S</dc:creator>
		<pubDate>Mon, 13 Apr 2009 19:38:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.bodden.de/tools/soot-225/#comment-5969</guid>
		<description>Hi Eric,

 Thanks for these nice posts about SOOT. I am beginning to use SOOT for some
simple data flow analysis in my research (I am trying to do a PhD in CS at 
University of Delaware, USA)

I used SOOT to do the reaching def analysis and got expected results. I have a doubt
about the following:

public int m1() // in a class C1
{
 init();
 return field1; // field is an integer field in the C1
}

private void init()
{
 field1 = 5; 
}

the above assignment provides a definition for field1 that reaches the return 
statement in m1(). The default Jimple Annotation pack reaching def
did not show this (though I did select inter-procedure and entire program
mode). Am I missing something here?

Thanks a lot!
Giri</description>
		<content:encoded><![CDATA[<p>Hi Eric,</p>
<p> Thanks for these nice posts about SOOT. I am beginning to use SOOT for some<br />
simple data flow analysis in my research (I am trying to do a PhD in CS at<br />
University of Delaware, USA)</p>
<p>I used SOOT to do the reaching def analysis and got expected results. I have a doubt<br />
about the following:</p>
<p>public int m1() // in a class C1<br />
{<br />
 init();<br />
 return field1; // field is an integer field in the C1<br />
}</p>
<p>private void init()<br />
{<br />
 field1 = 5;<br />
}</p>
<p>the above assignment provides a definition for field1 that reaches the return<br />
statement in m1(). The default Jimple Annotation pack reaching def<br />
did not show this (though I did select inter-procedure and entire program<br />
mode). Am I missing something here?</p>
<p>Thanks a lot!<br />
Giri</p>
]]></content:encoded>
	</item>
</channel>
</rss>
