paperbot · PL 论文追踪

RSS

Scaling Abstraction Refinement for Program Analyses in Datalog using Graph Neural Networks

OOPSLA 8(OOPSLA2)2024引用 1
Zhenyu Yan, Xin Zhang, Peng Di

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{YanZD24,
  title = {Scaling Abstraction Refinement for Program Analyses in Datalog using Graph Neural Networks},
  author = {Zhenyu Yan and Xin Zhang and Peng Di},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689765}
}