CFA2: A Context-Free Approach to Control-Flow Analysis

  • Vardoulakis D
  • Shivers O
N/ACitations
Citations of this article
14Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

In a functional language, the dominant control-flow mechanism is function call and return. Most higher-order flow analyses, including k-CFA, do not handle call and return well: they remember only a bounded number of pending calls because they approximate programs with control-flow graphs. Call/return mismatch introduces precision-degrading spurious control-flow paths and increases the analysis time. We describe CFA2, the first flow analysis with precise call/return matching in the presence of higher-order functions and tail calls. We formulate CFA2 as an abstract interpretation of programs in continuation passing style and describe a sound and complete summarization algorithm for our abstract semantics. A preliminary evaluation shows that CFA2 gives more accurate data-flow information than 0CFA and 1CFA.

Cite

CITATION STYLE

APA

Vardoulakis, D., & Shivers, O. (2010). CFA2: A Context-Free Approach to Control-Flow Analysis (pp. 570–589). https://doi.org/10.1007/978-3-642-11957-6_30

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