Dimitrios Vardoulakis ; Olin Shivers - CFA2: a Context-Free Approach to Control-Flow Analysis

lmcs:684 - Logical Methods in Computer Science, May 1, 2011, Volume 7, Issue 2 - https://doi.org/10.2168/LMCS-7(2:3)2011
CFA2: a Context-Free Approach to Control-Flow AnalysisArticle

Authors: Dimitrios Vardoulakis ; Olin Shivers

    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.


    Volume: Volume 7, Issue 2
    Published on: May 1, 2011
    Imported on: June 11, 2010
    Keywords: Computer Science - Programming Languages,F.3.2, D.3.4
    Funding:
      Source : OpenAIRE Graph
    • Companion to Analytic Philosophy 2; Code: PTDC/FER-FIL/28442/2017

    21 Documents citing this article

    Consultation statistics

    This page has been seen 1715 times.
    This article's PDF has been downloaded 464 times.