paperbot · PL 论文追踪

RSS

Learning Abstraction Selection for Bayesian Program Analysis

OOPSLA 8(OOPSLA1)2024
Yifan Zhang, Yuanfeng Shi, Xin Zhang

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

原文摘要(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.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot2552,
  title = {Learning Abstraction Selection for Bayesian Program Analysis},
  author = {Yifan Zhang and Yuanfeng Shi and Xin Zhang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA1},
  year = {2024},
  doi = {10.1145/3649845}
}