The complexity of Andersen's analysis in practice

29Citations
Citations of this article
25Readers
Mendeley users who have this article in their library.
Get full text

Abstract

While the tightest proven worst-case complexity for Andersen's points-to analysis is nearly cubic, the analysis seems to scale better on real-world codes. We examine algorithmic factors that help account for this gap. In particular, we show that a simple algorithm can compute Andersen's analysis in worst-case quadratic time as long as the input program is k-sparse, i.e. it has at most k statements dereferencing each variable and a sparse flow graph. We then argue that for strongly-typed languages like Java, typical structure makes programs likely to be k-sparse, and we give empirical measurements across a suite of Java programs that confirm this hypothesis. We also discuss how various standard implementation techniques yield further constant-factor speedups. © 2009 Springer.

Cite

CITATION STYLE

APA

Sridharan, M., & Fink, S. J. (2009). The complexity of Andersen’s analysis in practice. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5673 LNCS, pp. 205–221). https://doi.org/10.1007/978-3-642-03237-0_15

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free