On Abstraction Refinement for Bayesian Program Analysis
Yuanfeng Shi, Yifan Zhang, Xin Zhang
Abstract
Bayesian program analysis is a systematic approach to learn from external information for better accuracy by converting logical deduction in conventional program analysis into Bayesian inference. A key challenge in Bayesian program analysis is how to select program abstractions to effectively generalize from external information. A recent approach addresses this challenge by learning a selection policy on training programs but may result in sub-optimal performance on new programs due to its learning nature and when the training set selection is not ideal. To address this problem, we propose an approach that is inspired by the framework of counterexample-guided refinement to search for an abstraction on the fly. Our key innovation is to apply the theory of conditional independence to refine the abstraction so that incorrect generalizations can be removed. To demonstrate the effectiveness of our approach, we have instantiated it on a Bayesian thread-escape analysis and a Bayesian datarace analysis and shown that it significantly improves the performance of the analyses.
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.
Cited by top-tier papers3
- Fuzzing Guided by Bayesian Program AnalysisYifan Zhang, Xin ZhangPOPL 2026 · 2 citations
- Beer: Interactive Alarm Resolution in Bayesian Program Analysis via Exploration-ExploitationHaoran Lin, Zhenyu Yan, Xin ZhangOOPSLA 2026
- Abstract Interpretation with Confidence: Quantifying the Precision of Dataflow Analysis with ProbabilitiesYuanfeng Shi, Ziyue Jin, Xin ZhangPLDI 2026
Builds on9
- Enhancing Static Analysis for Practical Bug Detection: An LLM-Integrated ApproachHaonan Li, Yu Hao, Yizhuo Zhai, Zhiyun QianOOPSLA 2024 · 142 citations
- Learning semantic program embeddings with graph interval neural networkYu Wang, Ke Wang, Fengjuan Gao, Linzhang WangOOPSLA 2020 · 61 citations
- 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
- Formulog: Datalog for SMT-based static analysisAaron Bembenek, Michael Greenberg, Stephen ChongOOPSLA 2020 · 26 citations
Related papers
- Learning Abstraction Selection for Bayesian Program AnalysisYifan Zhang, Yuanfeng Shi, Xin ZhangOOPSLA 2024 · 8 citations
- Learning Probabilistic Models for Static Analysis AlarmsHyunsu Kim, Mukund Raghothaman, Kihong HeoICSE 2022 · 13 citations
- Structural Abstraction and Refinement for Probabilistic ProgramsGuanyan Li, Juanen Li, Zhilei Han, Peixin Wang et al.OOPSLA 2025
- LLM-Based Alarm Resolution Guided by Bayesian Program AnalysisYifan Zhang, Yuanfeng Shi, Haoran Lin, Yingfei Xiong et al.OOPSLA 2026
- Generating Rely-Guarantee Conditions with the Conditional-Writes DomainJames Tobler, Graeme SmithFM 2026
