Abstraction Refinement Guided by a Learnt Probabilistic Model
Radu Grigore, Hongseok Yang

TL;DR
This paper introduces a probabilistic-guided abstraction refinement method for static program analysis, improving the selection of program abstractions by learning from past analysis runs to optimize accuracy and efficiency.
Contribution
It presents a novel approach combining probabilistic models with counterexample-guided refinement for parametric static analyses in Datalog, with learned hyperparameters enhancing performance.
Findings
Effective abstraction selection improves analysis efficiency.
Probabilistic model accurately predicts success probabilities.
Method outperforms baseline approaches in Java pointer analysis.
Abstract
The core challenge in designing an effective static program analysis is to find a good program abstraction -- one that retains only details relevant to a given query. In this paper, we present a new approach for automatically finding such an abstraction. Our approach uses a pessimistic strategy, which can optionally use guidance from a probabilistic model. Our approach applies to parametric static analyses implemented in Datalog, and is based on counterexample-guided abstraction refinement. For each untried abstraction, our probabilistic model provides a probability of success, while the size of the abstraction provides an estimate of its cost in terms of analysis time. Combining these two metrics, probability and cost, our refinement algorithm picks an optimal abstraction. Our probabilistic model is a variant of the Erdos-Renyi random graph model, and it is tunable by what we call…
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
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Logic, programming, and type systems
