IncIDFA: An Efficient and Generic Algorithm for Incremental Iterative Dataflow Analysis
Aman Nougrahiya, V. Krishna Nandivada
Abstract
Iterative dataflow analyses (IDFAs) are important static analyses employed by tools like compilers for enabling program optimizations, comprehension, verification, and more. During compilation of a program, optimizations/transformations can render existing dataflow solutions stale, jeopardizing the optimality and correctness of subsequent compiler passes. Exhaustively recomputing these solutions can be costly. Since most program changes impact only small portions of the flowgraph, several incrementalization approaches have been proposed for various subclasses of IDFAs. However, these approaches face one or more of these limitations: (i) loss of precision compared to exhaustive analysis, (ii) inability to handle arbitrary lattices and dataflow functions, and (iii) lacking fully automated incrementalization of the IDFA. As a result, mainstream compilers lack frameworks for generating precise incremental versions of arbitrary IDFAs, leaving analysis writers to create ad hoc algorithms for incrementalization -an often cumbersome and error-prone task.
To tackle these challenges, we introduce IncIDFA, a novel algorithm that delivers precise and efficient incremental variants of any monotone IDFA. IncIDFA utilizes a two-pass approach to maintain precision. Unlike prior works, IncIDFA avoids resetting the dataflow solutions to least informative values when dealing with strongly-connected regions and arbitrary program changes. We formally prove the precision guarantees of IncIDFA for arbitrary dataflow problems and program changes. IncIDFA has been implemented in the IMOP compiler framework for parallel OpenMP C programs. To showcase its generality, we have instantiated IncIDFA to ten specific dataflow analyses, without requiring any additional code for incrementalization. We present an evaluation of IncIDFA on a real-world set of optimization passes, across two different architectures. As compared to exhaustive recomputation, IncIDFA resulted in a speedup of up to 11× (geomean 2.6×) in incremental-update time, and improvement of up to 46% (geomean 15.1%) in the total compilation time.
CCS Concepts: • Software and its engineering → Automated static analysis; Compilers.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 770e4e68-367d-4741-b669-09f408b63ee8Builds on7
- LLMDFA: Analyzing Dataflow in Code with Large Language ModelsChengpeng Wang, Wuqi Zhang, Zian Su, Xiangzhe Xu et al.NeurIPS 2024 · 51 citations
- Incremental whole-program analysis in Datalog with latticesTamás Szabó, Sebastian Erdweg, Gábor BergmannPLDI 2021 · 39 citations
- Fixpoints for the masses: programming with first-class Datalog constraintsMagnus Madsen, Ondrej LhotákOOPSLA 2020 · 22 citations
- Demanded abstract interpretationBenno Stein, Bor-Yuh Evan Chang, Manu SridharanPLDI 2021 · 19 citations
- BigDataflow: A Distributed Interprocedural Dataflow Analysis FrameworkZewen Sun, Duanchen Xu, Yiyu Zhang, Yun Qi et al.FSE 2023 · 10 citations
Related papers
- Mechanically Translating Iterative Dataflow Analysis to Algebraic Program AnalysisChenyu Zhou, Jingbo Wang, Chao WangOOPSLA 2026
- A programming model for semi-implicit parallelization of static analysesDominik Helm, Florian Kübler, Jan Thomas Kölzer, Philipp Haller et al.ISSTA 2020 · 8 citations
- Incremental Program Analysis in the Wild: An Empirical Study on Real-World Program ChangesXizao Wang, Xiangrong Bin, Lanxin Huang, Shangqing Liu et al.ASE 2025
- Incrementalizing Graph AlgorithmsWenfei Fan, Chao Tian, Ruiqi Xu, Qiang Yin et al.SIGMOD 2021 · 19 citations
- On the fly MHP analysisSonali Saha, V. Krishna NandivadaPPoPP 2020 · 2 citations
