An Incremental Algorithm for Algebraic Program Analysis
Chenyu Zhou, Yuzhou Fang, Jingbo Wang, Chao Wang

TL;DR
This paper introduces an incremental algebraic program analysis method that efficiently updates analysis results after program changes, significantly speeding up the process compared to traditional approaches.
Contribution
It presents a novel tree-based data structure and techniques for incremental updating of program properties, improving analysis efficiency after program modifications.
Findings
Speedup ranging from 160X to 4761X over baseline methods
Effective in analyzing Java applications from DaCapo suite
Significantly reduces analysis time after program changes
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Parallel Computing and Optimization Techniques
