<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: ItDepends: Code Dependency Analysis For Flex/AIR Applications</title>
	<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Sun, 06 Jul 2008 20:44:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: joe</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2862</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Wed, 09 Apr 2008 01:43:30 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2862</guid>
		<description>Ryan -- can you please create a bug on Google Code and attach your link report so I can try to reproduce the bug?  Thanks!</description>
		<content:encoded><![CDATA[<p>Ryan &#8212; can you please create a bug on Google Code and attach your link report so I can try to reproduce the bug?  Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2861</link>
		<dc:creator>Ryan</dc:creator>
		<pubDate>Tue, 08 Apr 2008 22:50:53 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2861</guid>
		<description>It doesn't seem to work properly for generated classes. For example, I look at mx.skins.halo.HaloBorder and it says it's referred to by nothing, which doesn't make much sense.  However, if you look at _globalStyle (atleast in my case), you'll see that ItDepends correctly reports that it refers to mx.skins.halo.HaloBorder.</description>
		<content:encoded><![CDATA[<p>It doesn&#8217;t seem to work properly for generated classes. For example, I look at mx.skins.halo.HaloBorder and it says it&#8217;s referred to by nothing, which doesn&#8217;t make much sense.  However, if you look at _globalStyle (atleast in my case), you&#8217;ll see that ItDepends correctly reports that it refers to mx.skins.halo.HaloBorder.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2831</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Wed, 02 Apr 2008 23:37:18 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2831</guid>
		<description>Yes, Jono, I am getting the sizes directly from the link report.  At the time I wrote it I didn't have access to the compiler.  Now that I do, it should be possible to get much more exact numbers by instrumenting the bytecode emitter and global optimizer.  But I've found that exact numbers are not really important -- it's more a question of where the "center of gravity" lies in the app.

Although the numbers are not correct in absolute terms (generally they are inflated by a factor of 6 or so), they are quite useful as a proportional measure of where the code size lies in the app.  In  typical Flex apps, shared constants do not seem to take up a very large portion of the code.

ItDepends does in fact have the same diff capability built into it -- if you create a child module window from the main app window, and drag app classes into the module, all the dependencies removed from the main app will travel into the module.

In the meantime ItDepends does have a crude ability to read the output dumps from the SwfxPrinter tool and map the printed function names back into the classes they come from.  Those code sizes are super accurate but of course there is no dependency info there.</description>
		<content:encoded><![CDATA[<p>Yes, Jono, I am getting the sizes directly from the link report.  At the time I wrote it I didn&#8217;t have access to the compiler.  Now that I do, it should be possible to get much more exact numbers by instrumenting the bytecode emitter and global optimizer.  But I&#8217;ve found that exact numbers are not really important &#8212; it&#8217;s more a question of where the &#8220;center of gravity&#8221; lies in the app.</p>
<p>Although the numbers are not correct in absolute terms (generally they are inflated by a factor of 6 or so), they are quite useful as a proportional measure of where the code size lies in the app.  In  typical Flex apps, shared constants do not seem to take up a very large portion of the code.</p>
<p>ItDepends does in fact have the same diff capability built into it &#8212; if you create a child module window from the main app window, and drag app classes into the module, all the dependencies removed from the main app will travel into the module.</p>
<p>In the meantime ItDepends does have a crude ability to read the output dumps from the SwfxPrinter tool and map the printed function names back into the classes they come from.  Those code sizes are super accurate but of course there is no dependency info there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jono</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2829</link>
		<dc:creator>Jono</dc:creator>
		<pubDate>Wed, 02 Apr 2008 22:31:40 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2829</guid>
		<description>Are you getting the sizes directly from the link report (I cannot imagine where else you get them from)? I wrote a very similar tool to try to do framework optimization (I can share it with you offline), but found that the numbers in the report are pretty much useless except as extremely high upper bounds.

For one, they are unoptimized (I forget if I committed an update to the link report which spits out a slightly optimized value as well). The biggest issue is that they don't take into account the constant pool -- if 100 strings are shared between two classes, each class will report that they take up the space of 100 strings, and the size changes between compiles depending on other factors.

I find the link report most useful to track new and removed dependencies. I should probably open-source my diff tool.</description>
		<content:encoded><![CDATA[<p>Are you getting the sizes directly from the link report (I cannot imagine where else you get them from)? I wrote a very similar tool to try to do framework optimization (I can share it with you offline), but found that the numbers in the report are pretty much useless except as extremely high upper bounds.</p>
<p>For one, they are unoptimized (I forget if I committed an update to the link report which spits out a slightly optimized value as well). The biggest issue is that they don&#8217;t take into account the constant pool &#8212; if 100 strings are shared between two classes, each class will report that they take up the space of 100 strings, and the size changes between compiles depending on other factors.</p>
<p>I find the link report most useful to track new and removed dependencies. I should probably open-source my diff tool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2812</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Fri, 28 Mar 2008 14:57:09 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2812</guid>
		<description>No, the compiler (and hence ItDepends) has no idea if you are using getDefinitionByName() to find your classes.  On the other hand, your renderer class wouldn't be linked into the app if there wasn't some compile-time dependency somewhere.</description>
		<content:encoded><![CDATA[<p>No, the compiler (and hence ItDepends) has no idea if you are using getDefinitionByName() to find your classes.  On the other hand, your renderer class wouldn&#8217;t be linked into the app if there wasn&#8217;t some compile-time dependency somewhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Lee</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2811</link>
		<dc:creator>Tom Lee</dc:creator>
		<pubDate>Fri, 28 Mar 2008 13:53:14 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2811</guid>
		<description>Awesome - a great contribution to the community.  

One of the issues I occasionally run into when porting code is a dependency on a class that may only be referenced in a string.  For example, a dataTipRenderer for a chart.  Does your application locate those dependencies as well?</description>
		<content:encoded><![CDATA[<p>Awesome - a great contribution to the community.  </p>
<p>One of the issues I occasionally run into when porting code is a dependency on a class that may only be referenced in a string.  For example, a dataTipRenderer for a chart.  Does your application locate those dependencies as well?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JesterXL</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2804</link>
		<dc:creator>JesterXL</dc:creator>
		<pubDate>Thu, 27 Mar 2008 03:10:12 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2804</guid>
		<description>Bad ass!!!</description>
		<content:encoded><![CDATA[<p>Bad ass!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rex Sheridan</title>
		<link>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2803</link>
		<dc:creator>Rex Sheridan</dc:creator>
		<pubDate>Thu, 27 Mar 2008 02:21:54 +0000</pubDate>
		<guid>http://www.joeberkovitz.com/blog/2008/03/26/itdepends-code-dependency-analysis-for-flexair-applications/#comment-2803</guid>
		<description>Neat little app.  I never knew the Flex compiler could spit out so much information.</description>
		<content:encoded><![CDATA[<p>Neat little app.  I never knew the Flex compiler could spit out so much information.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
