Hostname: page-component-6766d58669-vgfm9 Total loading time: 0 Render date: 2026-05-18T14:41:55.423Z Has data issue: false hasContentIssue false

Exploiting reachability and cardinality in higher-order flow analysis

Published online by Cambridge University Press:  12 August 2008

MATTHEW MIGHT
Affiliation:
Diagis, LLC, Atlanta, GA, USA (e-mail: matt@diagis.com)
OLIN SHIVERS
Affiliation:
Northeastern University, Boston, MA, USA (e-mail: shivers@ccs.neu.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

We present two complementary improvements for abstract-interpretation-based flow analysis of higher-order languages: (1) abstract garbage collection and (2) abstract counting. Abstract garbage collection is an analog to its concrete counterpart: the analysis determines when an abstract resource has become unreachable, and then, re-allocates it as fresh. This prevents flow sets from joining during abstract interpretation, which has two immediate effects: (1) the precision of the interpretation increases and (2) its running time often falls. In abstract counting, the analysis tracks how many times an abstract resource has been allocated. A count of one implies that the abstract resource momentarily represents only one concrete resource. This knowledge, in turn, drives environment analysis, expanding the kind (rather than just the degree) of optimization available to the compiler.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2008
Submit a response

Discussions

No Discussions have been published for this article.