<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dvanhorn @ λ-calcul.us &#187; CFA</title>
	<atom:link href="http://dvanhorn.lambda-calcul.us/category/cfa/feed/" rel="self" type="application/rss+xml" />
	<link>http://dvanhorn.lambda-calcul.us</link>
	<description>Research weblog for  David Van Horn</description>
	<lastBuildDate>Tue, 03 May 2011 16:12:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ACM Computing Survey: Control-flow Analysis of Functional Programs</title>
		<link>http://dvanhorn.lambda-calcul.us/2011/02/04/acm-computing-survey-control-flow-analysis-of-functional-programs/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2011/02/04/acm-computing-survey-control-flow-analysis-of-functional-programs/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 16:01:45 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=381</guid>
		<description><![CDATA[Jan Midtgaard&#8217;s excellent survey on CFA has been  accepted by ACM Computing Surveys and is now &#8220;forthcoming&#8221;.  It&#8217;s been a  valuable resource to me and others; I recommend it to anyone interested in the literature on CFA.

http://www.brics.dk/~jmi/Midtgaard%3aCSur10.html
Control-flow Analysis of Functional Programs
Jan Midtgaard, ACM Computing Surveys, 2010, forthcoming
Abstract
We present a survey of control-flow [...]]]></description>
			<content:encoded><![CDATA[<p>Jan Midtgaard&#8217;s excellent survey on CFA has been  accepted by ACM Computing Surveys and is now &#8220;forthcoming&#8221;.  It&#8217;s been a  valuable resource to me and others; I recommend it to anyone interested in the literature on CFA.</p>
<blockquote><p>
<a href="http://www.brics.dk/~jmi/Midtgaard%3aCSur10.html">http://www.brics.dk/~jmi/Midtgaard%3aCSur10.html</a></p>
<p>Control-flow Analysis of Functional Programs<br />
Jan Midtgaard, ACM Computing Surveys, 2010, forthcoming</p>
<p>Abstract</p>
<p>We present a survey of control-flow analysis of functional programs,  which has been the subject of extensive investigation throughout the past 30 years. Analyses of the control flow of functional programs have  been formulated in multiple settings and have led to many different approximations, starting with the seminal works of Jones, Shivers, and Sestoft. In this paper, we survey control-flow analysis of functional programs by structuring the multitude of formulations and approximations and comparing them.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2011/02/04/acm-computing-survey-control-flow-analysis-of-functional-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstracting Abstract Machines, Slides</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/12/07/abstracting-abstract-machines-slides/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/12/07/abstracting-abstract-machines-slides/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 19:11:56 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[CFA]]></category>
		<category><![CDATA[Talks]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=321</guid>
		<description><![CDATA[Slides from my ICFP talk.

]]></description>
			<content:encoded><![CDATA[<p>Slides from my ICFP talk.</p>
<p><a href="http://www.ccs.neu.edu/home/dvanhorn/talks/abstracting-abstract-machines-icfp-2010.pdf"><img src="http://www.ccs.neu.edu/home/dvanhorn/tmp/slide01.jpg" alt="" title="slide01" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/12/07/abstracting-abstract-machines-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shivers diss in Isabelle</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/11/29/shivers-diss-in-isabelle/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/11/29/shivers-diss-in-isabelle/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 00:36:50 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=326</guid>
		<description><![CDATA[Joachim Breitner has recently formalized Shivers&#8217; kCFA algorithm and proof of correctness in Isabelle:
   http://afp.sourceforge.net/entries/Shivers-CFA.shtml
A Haskell prototype of the Isabelle formalization is also available on Hackage in the &#8217;shivers-cfg&#8217; package:
   http://hackage.haskell.org/package/shivers-cfg
]]></description>
			<content:encoded><![CDATA[<p>Joachim Breitner has recently formalized Shivers&#8217; kCFA algorithm and proof of correctness in Isabelle:</p>
<p>  <code><a href=" http://afp.sourceforge.net/entries/Shivers-CFA.shtml"> http://afp.sourceforge.net/entries/Shivers-CFA.shtml</a></code></p>
<p>A Haskell prototype of the Isabelle formalization is also available on Hackage in the &#8217;shivers-cfg&#8217; package:</p>
<p>   <code><a href="http://hackage.haskell.org/package/shivers-cfg">http://hackage.haskell.org/package/shivers-cfg</a></code></p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/11/29/shivers-diss-in-isabelle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doctor JS</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/08/26/doctor-js/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/08/26/doctor-js/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:38:43 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[CFA]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=301</guid>
		<description><![CDATA[Tell the Doctor about it. 
Doctor JS is a genius. He&#8217;ll analyze your JavaScript code, complete with: polymorphism, prototypes, exceptions, and callbacks.
DoctorJS is a static analysis tool developed by my PRL lab neighbor, Dimitris Vardoulakis.  It&#8217;s an implementation of Vardoulakis and Olin Shivers&#8216; CFA2&#8212;a context-free approach to control flow analysis. 
Brendan Eich, CTO of [...]]]></description>
			<content:encoded><![CDATA[<p>Tell <a href="http://doctorjs.org/">the Doctor</a> about it. <img style="float: right;" src="http://doctorjs.org/couch.gif" /></p>
<blockquote><p>Doctor JS is a genius. He&#8217;ll analyze your JavaScript code, complete with: polymorphism, prototypes, exceptions, and callbacks.</p></blockquote>
<p>DoctorJS is a static analysis tool developed by my <a href="http://www.ccs.neu.edu/research/prl/">PRL</a> lab neighbor, <a href="http://www.ccs.neu.edu/home/dimvar/info.html">Dimitris Vardoulakis</a>.  It&#8217;s an implementation of Vardoulakis and <a href="http://www.ccs.neu.edu/home/shivers/">Olin Shivers</a>&#8216; <a href="http://www.ccs.neu.edu/home/dimvar/papers/cfa2-NU-CCIS-10-01.pdf">CFA2</a>&#8212;a context-free approach to control flow analysis. </p>
<p>Brendan Eich, CTO of Mozilla and creator of JS, recently blogged about DoctorJS (<a href="http://brendaneich.com/2010/08/static-analysis-ftw/">Static Analysis FTW</a>) and called static analysis one of the best &#8220;researchy&#8221; investments Mozilla has made over the past few years.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/08/26/doctor-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstracting Abstract Machines: Storing and stacking continuations</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/07/26/abstracting-abstract-machine/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/07/26/abstracting-abstract-machine/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 20:17:10 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=286</guid>
		<description><![CDATA[We&#8217;ve been working on two techniques for systematically deriving abstract interpretations approximating canonical machines for higher-order languages. The first allocates continuations in a bounded store to achieve a finite state-space. We demonstrate the generality of this approach by transforming classical abstract machines into abstract interpreters.

Abstracting Abstract Machines.
David Van Horn and Matthew Might.
The 15th ACM SIGPLAN [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been working on two techniques for systematically deriving abstract interpretations approximating canonical machines for higher-order languages. The first allocates continuations in a bounded store to achieve a finite state-space. We demonstrate the generality of this approach by transforming classical abstract machines into abstract interpreters.</p>
<blockquote><p>
<em>Abstracting Abstract Machines</em>.<br />
David Van Horn and Matthew Might.<br />
The 15th ACM SIGPLAN International Conference on Functional Programming (ICFP&#8217;10), Baltimore, Maryland, September, 2010.</p>
<p>We describe a derivational approach to abstract interpretation that yields novel and transparently sound static analyses when applied to well-established abstract machines. To demonstrate the technique and support our claim, we transform the CEK machine of Felleisen and Friedman, a lazy variant of Krivine&#8217;s machine, and the stack-inspecting CM machine of Clements and Felleisen into abstract interpretations of themselves. The resulting analyses bound temporal ordering of program events; predict return-flow and stack-inspection behavior; and approximate the flow and evaluation of by-need parameters. For all of these machines, we find that a series of well-known concrete machine refactorings, plus a technique we call store-allocated continuations, leads to machines that abstract into static analyses simply by bounding their stores. We demonstrate that the technique scales up uniformly to allow static analysis of realistic language features, including tail calls, conditionals, side effects, exceptions, first-class continuations, and even garbage collection. </p>
<ul>
<li><a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/vanhorn-might-icfp10.pdf">PDF</a></li>
</ul>
</blockquote>
<p>The second technique keeps continuations on the stack to achieve a push-down model of abstract interpretation. The resulting abstract interpreter always matches calls and returns, achieving a higher level of precision by never conflating call and return pairs. Although this technique produces abstract interpreters with infinite state-spaces, we demonstrate how basic static analysis questions remain decidable by casting them as language inclusion problems answered by push-down automata. </p>
<blockquote><p>
<em>Pushdown Control-Flow Analysis of Higher-Order Programs</em>.<br />
Christopher Earl, Matthew Might, and David Van Horn.<br />
The 2010 Workshop on Scheme and Functional Programming (SFP 2010), Montréal, Québec, Canada, August, 2010.</p>
<p>    Context-free approaches to static analysis gain precision over classical approaches by perfectly matching returns to call sites—a property that eliminates spurious interprocedural paths. Vardoulakis and Shivers&#8217;s recent formulation of CFA2 showed that it is possible (if expensive) to apply context-free methods to higher-order languages and gain the same boost in precision achieved over first-order programs.</p>
<p>    To this young body of work on context-free analysis of higher-order programs, we contribute a pushdown control-flow analysis framework, which we derive as an abstract interpretation of a CESK machine with an unbounded stack. One instantiation of this framework marks the first polyvariant pushdown analysis of higher-order programs; another marks the first polynomial-time analysis. In the end, we arrive at a framework for control-flow analysis that can efficiently compute pushdown generalizations of classical control-flow analyses.</p>
<ul>
<li><a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/earl-might-vanhorn-sfp10.pdf">PDF</a></li>
</ul>
</blockquote>
<p>There are also slides (<a href="http://www.ccs.neu.edu/home/dvanhorn/talks/abstracting-abstract-machines-harvard-2010.pdf">PDF</a>) covering both techniques from a talk given at the Harvard PL seminar.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/07/26/abstracting-abstract-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preprint: Resolving and Exploiting the k-CFA Paradox</title>
		<link>http://dvanhorn.lambda-calcul.us/2009/12/10/preprint-k-cfa-paradox/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2009/12/10/preprint-k-cfa-paradox/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 21:08:37 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=187</guid>
		<description><![CDATA[A new preprint by Matthew Might, Yannis Smaragdakis, and David Van Horn.

Preprint
Slides from NEPLS
Implementation

Abstract: 
Low-level program analysis is a fundamental problem, taking the shape of &#8220;flow analysis&#8221; in functional languages and &#8220;points-to&#8221; analysis in imperative and object-oriented (OO) languages. Despite the similarities, the vocabulary and results in the two communities remain largely distinct, with limited [...]]]></description>
			<content:encoded><![CDATA[<p>A new preprint by <a href="http://matt.might.net/">Matthew Might</a>, <a href="http://www.cs.umass.edu/~yannis/">Yannis Smaragdakis</a>, and <a href="http://www.ccs.neu.edu/home/dvanhorn/">David Van Horn</a>.</p>
<ul>
<li><a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/might-smaragdakis-vanhorn-preprint09.pdf">Preprint</a></li>
<li><a href="http://www.ccs.neu.edu/home/dvanhorn/talks/kcfa-paradox-nepls09.pdf">Slides</a> from <a href="http://nepls.org/Events/23/">NEPLS</a></li>
<li><a href="http://www.ucombinator.org/projects/mcfa/">Implementation</a></li>
</ul>
<p>Abstract: </p>
<blockquote><p>Low-level program analysis is a fundamental problem, taking the shape of &#8220;flow analysis&#8221; in functional languages and &#8220;points-to&#8221; analysis in imperative and object-oriented (OO) languages. Despite the similarities, the vocabulary and results in the two communities remain largely distinct, with limited cross-understanding. One of the few links is Shivers&#8217;s <em>k</em>-CFA work, which has advanced the concept of &#8220;context-sensitive analysis&#8221; and is widely known in both communities. Recent results, however, indicate that the relationship between the different incarnations of the analysis is not understood. Van Horn and Mairson proved <em>k</em>-CFA for <em>k</em> ≥ 1 to be EXPTIME-complete, hence no polynomial algorithm exists. Yet there have been multiple polynomial formulations of context-sensitive points-to analyses in OO languages. Is functional <em>k</em>-CFA a profoundly different analysis from OO <em>k</em>-CFA? We resolve this paradox by showing that OO features conspire to make the exact same specification of <em>k</em>-CFA be polynomial-time: objects and closures are subtly different, in a way that interacts crucially with context-sensitivity. This leads to a significant practical result: by emulating the OO approximation, we derive a polynomial hierarchy of context-sensitive CFAs for functional programs, simultaneously achieving high precision and efficiency.</p></blockquote>
<p>Update (2/2010): This work will appear at <a href="http://www.cs.stanford.edu/pldi10/">PLDI 2010</a>.  See you in Toronto!</p>
<p>Update (2/2010): Noticed on LtU: <a href="http://lambda-the-ultimate.org/node/3814">http://lambda-the-ultimate.org/node/3814</a>.</p>
<p>Update (3/2010): Camera-ready version: <a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/might-smaragdakis-vanhorn-pldi10.pdf">http://www.ccs.neu.edu/home/dvanhorn/pubs/might-smaragdakis-vanhorn-pldi10.pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2009/12/10/preprint-k-cfa-paradox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOFA Forum</title>
		<link>http://dvanhorn.lambda-calcul.us/2009/10/04/hofa-forum/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2009/10/04/hofa-forum/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 14:17:29 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=178</guid>
		<description><![CDATA[The Higher-Order Flow Analysis Forum has just been set up:
The HOFA forum is an email forum for the discussion and dissemination of research results in the area of higher-order flow analysis, broadly construed, within computer science and related disciplines. Flow analysis and related static analyses are a fundamental tool for program verification, bug detection, compiler [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://hofa.lambda-calcul.us/">Higher-Order Flow Analysis Forum</a> has just been set up:</p>
<blockquote><p>The HOFA forum is an email forum for the discussion and dissemination of research results in the area of higher-order flow analysis, broadly construed, within computer science and related disciplines. Flow analysis and related static analyses are a fundamental tool for program verification, bug detection, compiler optimization, program understanding, and software maintenance. The HOFA forum aims to facilitate theoretical, practical, and application advances in the area of functional, object-oriented, concurrent, distributed, and mobile programming.</p></blockquote>
<p>Please sign up!  Also, send me email if you or your group would like to be listed on the HOFA site.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2009/10/04/hofa-forum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Diss</title>
		<link>http://dvanhorn.lambda-calcul.us/2009/08/14/the-diss/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2009/08/14/the-diss/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 18:21:09 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[CFA]]></category>
		<category><![CDATA[Complexity]]></category>
		<category><![CDATA[Linearity]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=153</guid>
		<description><![CDATA[The Complexity of Flow Analysis in Higher-Order Languages: Abstract, Dissertation, Slides.
]]></description>
			<content:encoded><![CDATA[<p>The Complexity of Flow Analysis in Higher-Order Languages: <a href="http://www.ccs.neu.edu/home/dvanhorn/abstracts/vanhorn-dissertation.html">Abstract</a>, <a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/vanhorn-dissertation.pdf">Dissertation</a>, <a href="http://www.ccs.neu.edu/home/dvanhorn/talks/vanhorn-phd-defense-2009.pdf">Slides</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2009/08/14/the-diss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Complexity of Flow Analysis in Higher-Order Languages</title>
		<link>http://dvanhorn.lambda-calcul.us/2009/07/14/the-complexity-of-flow-analysis-in-higher-order-languages/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2009/07/14/the-complexity-of-flow-analysis-in-higher-order-languages/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 22:16:08 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[CFA]]></category>
		<category><![CDATA[Complexity]]></category>
		<category><![CDATA[Linearity]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=140</guid>
		<description><![CDATA[PhD Thesis Defense
Computer Science Department
Brandeis University
Date: Wednesday, July 22, 2009
Time: 2-4pm
Place: Volen 101
The Complexity of Flow Analysis in Higher-Order Languages
David Van Horn
Abstract:
This dissertation proves lower bounds on the inherent difficulty of deciding flow analysis problems in higher-order programming languages. We give exact characterizations of the computational complexity of 0CFA, the kCFA hierarchy, and related analyses. [...]]]></description>
			<content:encoded><![CDATA[<p>PhD Thesis Defense<br />
Computer Science Department<br />
Brandeis University</p>
<p>Date: Wednesday, July 22, 2009<br />
Time: 2-4pm<br />
Place: Volen 101</p>
<p>The Complexity of Flow Analysis in Higher-Order Languages<br />
David Van Horn</p>
<p>Abstract:</p>
<p>This dissertation proves lower bounds on the inherent difficulty of deciding flow analysis problems in higher-order programming languages. We give exact characterizations of the computational complexity of 0CFA, the kCFA hierarchy, and related analyses. In each case, we precisely capture both the expressiveness and feasibility of the analysis, identifying the elements responsible for the trade-off.</p>
<p>0CFA is complete for polynomial time. This result relies on the insight that when a program is linear (each bound variable occurs exactly once), the analysis makes no approximation; abstract and concrete interpretation coincide, and therefore program analysis becomes evaluation under another guise. Moreover, this is true not only for 0CFA, but for a number of further approximations to 0CFA. In each case, we derive polynomial time completeness results.</p>
<p>For any k > 0, kCFA is complete for exponential time. Even when k = 1, the distinction in binding contexts results in a limited form of closures, which do not occur in 0CFA. This theorem validates empirical observations that kCFA is intractably slow for any k > 0. There is, in the worst case&#8212;and plausibly, in practice&#8212;no way to tame the cost of the analysis. Exponential time is required. The empirically observed intractability of this analysis can be understood as being inherent in the approximation problem being solved, rather than reflecting unfortunate gaps in our programming abilities.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2009/07/14/the-complexity-of-flow-analysis-in-higher-order-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subcubic Control Flow Analysis Algorithms</title>
		<link>http://dvanhorn.lambda-calcul.us/2009/05/21/subcubic-control-flow-analysis-algorithms/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2009/05/21/subcubic-control-flow-analysis-algorithms/#comments</comments>
		<pubDate>Thu, 21 May 2009 21:30:43 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=95</guid>
		<description><![CDATA[Subcubic Control Flow Analysis Algorithms, Jan Midtgaard and David Van Horn.
We give the first direct subcubic algorithm for performing control flow analysis of higher-order functional programs. Despite the long held belief that inclusion-based flow analysis could not surpass the &#8220;cubic bottleneck, &#8221; we apply known set compression techniques to obtain an algorithm that runs in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ruc.dk/dat_en/research/reports/125/">Subcubic Control Flow Analysis Algorithms</a>, Jan Midtgaard and David Van Horn.</p>
<blockquote><p>We give the first direct subcubic algorithm for performing control flow analysis of higher-order functional programs. Despite the long held belief that inclusion-based flow analysis could not surpass the &#8220;cubic bottleneck, &#8221; we apply known set compression techniques to obtain an algorithm that runs in time O(n^3/log n) on a unit cost random-access memory model machine. Moreover, we refine the initial flow analysis into two more precise analyses incorporating notions of reachability. We give subcubic algorithms for these more precise analyses and relate them to an existing analysis from the literature.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2009/05/21/subcubic-control-flow-analysis-algorithms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

