Learning Abstraction Selection for Bayesian Program Analysis
Yifan Zhang, Yuanfeng Shi, Xin Zhang
Abstract
We propose a learning-based approach to select abstractions for Bayesian program analysis. Bayesian program analysis converts a program analysis into a Bayesian model by attaching probabilities to analysis rules. It computes probabilities of analysis results and can update them by learning from user feedback, test runs, and other information. Its abstraction heavily affects how well it learns from such information. There exists a long line of works in selecting abstractions for conventional program analysis but they are not effective for Bayesian program analysis. This is because they do not optimize for generalization ability. We propose a data-driven framework to solve this problem by learning from labeled programs. Starting from an abstraction, it decides how to change the abstraction based on analysis derivations. To be general, it considers graph properties of analysis derivations; to be effective, it considers the derivations before and after changing the abstraction. We demonstrate the effectiveness of our approach using a datarace analysis and a thread-escape analysis.
CCS Concepts: • Software and its engineering → Automated static analysis.
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 55155cb7-6c48-421c-a851-de48b1aa27e8Cited by top-tier papers8
- Combining Formal and Informal Information in Bayesian Program Analysis via Soft EvidencesTianchi Li, Xin ZhangOOPSLA 2025 · 5 citations
- On Abstraction Refinement for Bayesian Program AnalysisYuanfeng Shi, Yifan Zhang, Xin ZhangOOPSLA 2025 · 4 citations
- Parf: Adaptive Parameter Refining for Abstract InterpretationZhongyi Wang, Linyu Yang, Mingshuai Chen, Yixuan Bu et al.ASE 2024 · 2 citations
- Fuzzing Guided by Bayesian Program AnalysisYifan Zhang, Xin ZhangPOPL 2026 · 2 citations
- Effective Directed Fuzzing with Hierarchical Scheduling for Web Vulnerability DetectionZihan Lin, Yuan Zhang, Jiarun Dai, Xinyou Huang et al.USENIX Security 2025
Builds on7
- Making pointer analysis more precise by unleashing the power of selective context sensitivityTian Tan, Yue Li, Xiaoxing Ma, Chang Xu et al.OOPSLA 2021 · 39 citations
- Learning graph-based heuristics for pointer analysis without handcrafting application-specific featuresMinseok Jeon, Myungho Lee, Hakjoo OhOOPSLA 2020 · 29 citations
- Learning fast and precise numerical analysisJingxuan He, Gagandeep Singh, Markus Püschel, Martin T. VechevPLDI 2020 · 18 citations
- Boosting static analysis accuracy with instrumented test executionsTianyi Chen, Kihong Heo, Mukund RaghothamanFSE 2021 · 18 citations
- Return of CFA: call-site sensitivity can be superior to object sensitivity even for object-oriented programsMinseok Jeon, Hakjoo OhPOPL 2022 · 15 citations
Related papers
- Beer: Interactive Alarm Resolution in Bayesian Program Analysis via Exploration-ExploitationHaoran Lin, Zhenyu Yan, Xin ZhangOOPSLA 2026
- LLM-Based Alarm Resolution Guided by Bayesian Program AnalysisYifan Zhang, Yuanfeng Shi, Haoran Lin, Yingfei Xiong et al.OOPSLA 2026
- Learning Probabilistic Models for Static Analysis AlarmsHyunsu Kim, Mukund Raghothaman, Kihong HeoICSE 2022 · 13 citations
- Language-Agnostic Static Analysis of Probabilistic ProgramsMarkus Böck, Michael Schröder, Jürgen CitoASE 2024 · 4 citations
- Scaling Abstraction Refinement for Program Analyses in Datalog using Graph Neural NetworksZhenyu Yan, Xin Zhang, Peng DiOOPSLA 2024 · 1 citation
