An Incremental Algorithm for Algebraic Program Analysis
Chenyu Zhou, Yuzhou Fang, Jingbo Wang, Chao Wang
Abstract
We propose a method for conducting algebraic program analysis (APA) incrementally in response to changes of the program under analysis. APA is a program analysis paradigm that consists of two distinct steps: computing a path expression that succinctly summarizes the set of program paths of interest, and interpreting the path expression using a properly-defined semantic algebra to obtain program properties of interest. In this context, the goal of an incremental algorithm is to reduce the analysis time by leveraging the intermediate results computed before the program changes. We have made two main contributions. First, we propose a data structure for efficiently representing path expression as a tree together with a tree-based interpreting method. Second, we propose techniques for efficiently updating the program properties in response to changes of the path expression. We have implemented our method and evaluated it on thirteen Java applications from the DaCapo benchmark suite. The experimental results show that both our method for incrementally computing path expression and our method for incrementally interpreting path expression are effective in speeding up the analysis. Compared to the baseline APA and two state-of-the-art APA methods, the speedup of our method ranges from 160× to 4761× depending on the types of program analyses performed.
• Software and its engineering → Software verification and validation.
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 6a48a0bb-cc61-44dd-acbe-8defa070891aCited by top-tier papers1
Ask how each one uses itBuilds on5
- Incremental whole-program analysis in Datalog with latticesTamás Szabó, Sebastian Erdweg, Gábor BergmannPLDI 2021 · 39 citations
- Termination analysis without the tearsShaowei Zhu, Zachary KincaidPLDI 2021 · 16 citations
- Data-Driven Synthesis of Provably Sound Side Channel AnalysesJingbo Wang, Chungha Sung, Mukund Raghothaman, Chao WangICSE 2021 · 14 citations
- Exploiting the Sparseness of Control-Flow and Call Graphs for Efficient and On-Demand Algebraic Program AnalysisGiovanna Kobus Conrado, Amir Kafshdar Goharshady, Kerim Kochekov, Yun Chen Tsai et al.OOPSLA 2023 · 12 citations
- Newtonian Program Analysis of Probabilistic ProgramsDi Wang, Thomas W. RepsOOPSLA 2024 · 3 citations
Related papers
- 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
- Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static AnalysisJiangchao Liu, Jierui Liu, Peng Di, Diyu Wu et al.ISSTA 2023 · 3 citations
- SHARP: fast incremental context-sensitive pointer analysis for JavaBozhen Liu, Jeff HuangOOPSLA 2022 · 21 citations
- Tunneling through the Hill: Multi-way Intersection for Version-Space Algebras in Program SynthesisGuanlin Chen, Ruyi Ji, Shuhao Zhang, Yingfei XiongOOPSLA 2025
- Differential Network AnalysisPeng Zhang, Aaron Gember-Jacobson, Yueshang Zuo, Yuhao Huang et al.NSDI 2022
