Scaling Abstraction Refinement for Program Analyses in Datalog using Graph Neural Networks
Zhenyu Yan, Xin Zhang, Peng Di
摘要
Counterexample-guided abstraction refinement (CEGAR) is a popular approach for automatically selecting abstractions with high precision and low time costs. Existing works cast abstraction refinements as constraintsolving problems. Due to the complexity of these problems, they cannot be scaled to large programs or complex analyses. We propose a novel approach that applies graph neural networks to improve the scalability of CEGAR for Datalog-based program analyses. By constructing graphs directly from the Datalog solver's calculations, our method then uses a neural network to score abstraction parameters based on the information in these graphs. Then we reform the constraint problems such that the constraint solver ignores parameters with low scores. This in turn reduces the solution space and the size of the constraint problems. Since our graphs are directly constructed from Datalog computation without human effort, our approach can be applied to a broad range of parametric static analyses implemented in Datalog. We evaluate our approach on a pointer analysis and a typestate analysis and our approach can answer 2.83× and 1.5× as many queries as the baseline approach on large programs for the pointer analysis and the typestate analysis, respectively.
CCS Concepts: • Software and its engineering → Automated static analysis.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper6
- Learning semantic program embeddings with graph interval neural networkYu Wang, Ke Wang, Fengjuan Gao, Linzhang WangOOPSLA 2020 · 被引用 61 次
- Learning graph-based heuristics for pointer analysis without handcrafting application-specific featuresMinseok Jeon, Myungho Lee, Hakjoo OhOOPSLA 2020 · 被引用 29 次
- Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise Pointer AnalysisWenjie Ma, Shengyuan Yang, Tian Tan, Xiaoxing Ma 等PLDI 2023 · 被引用 29 次
- Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C codeZhiqiang Zuo, Yiyu Zhang, Qiuhong Pan, Shenming Lu 等PLDI 2021 · 被引用 18 次
- Program analysis via efficient symbolic abstractionPeisen Yao, Qingkai Shi, Heqing Huang, Charles ZhangOOPSLA 2021 · 被引用 12 次
相关 Paper
- Probabilistic Safety Verification of Neural Policies via Predicate AbstractionMarcel Vinzent, Holger Hermanns, Jörg HoffmannAAAI 2026
- GNNIC: Finding Long-Lost Sibling Functions with Abstract SimilarityQiushi Wu, Zhongshu Gu, Hani Jamjoom, Kangjie LuNDSS 2024
- Trace Abstraction-Based Verification for Uninterpreted ProgramsWeijiang Hong, Zhenbang Chen, Yide Du, Ji WangFM 2021 · 被引用 2 次
- CEGAR-Based Approach for Solving Combinatorial Optimization Modulo Quantified Linear Arithmetics ProblemsKerian Thuillier, Anne Siegel, Loïc PaulevéAAAI 2024 · 被引用 2 次
- Sibyl: Improving Software Engineering Tools with SMT SelectionWill Leeson, Matthew B. Dwyer, Antonio FilieriICSE 2023 · 被引用 5 次
