paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Fuzzing Guided by Bayesian Program Analysis

贝叶斯程序分析引导的模糊测试
POPL 10(POPL)2026匹配度 6/10 · 论文属于贝叶斯程序分析,与用户明确关注的“贝叶斯程序分析”方向直接相关,且问题定义、反馈学习和真实程序/CVE评估符合其偏好理论+工程、问题驱动的取向。但其应用场景是模糊测试,未涉及 LLM/Agent 与程序分析的交叉,也不是浮点程序分析,因此与当前核心研究方向匹配有限。引用 1 inbox
Yifan Zhang, Xin Zhang
crossref: 2026-09-10

AI 速览

一句话:提出贝叶斯程序分析引导的目标导向灰盒模糊测试,通过可达目标预测与反馈更新提升漏洞发现能力。

论文针对大规模目标导向灰盒模糊测试(LTGF)中目标优先级排序粗糙、依赖启发式且未系统利用模糊测试反馈的问题,将优先级排序形式化为“可达模糊测试目标问题”。方法上,作者重新定义贝叶斯程序分析的语义,把概率附加到分析规则并将分析结果转化为贝叶斯模型,用于预测各目标能否被模糊器到达,同时根据模糊器反馈动态调整预测,从而提供细粒度、系统化且自适应的引导。评估在真实程序上与多个最新模糊器对比,发现 3.25 至 13 倍更多唯一漏洞,并在经过充分测试的程序中发现 39 个未知漏洞,其中 30 个获得 CVE。

问题
LTGF 中目标优先级排序过于粗糙、依赖启发式,且缺乏系统机制利用模糊测试反馈,导致定向变异效率低。
方法
将可达目标预测形式化为问题,重新定义贝叶斯程序分析语义,以概率规则构建贝叶斯模型并随 fuzzer 反馈动态更新,用于目标排序与定向变异。
评估
在真实程序上与多个 state-of-the-art fuzzer 对比,唯一漏洞发现量提升 3.25×–13×,并发现 39 个未知漏洞,其中 30 个获 CVE。
原文摘要(Abstract)

We propose a novel approach that leverages Bayesian program analysis to guide large-scale target-guided greybox fuzzing (LTGF). LTGF prioritizes program locations (targets) that are likely to contain bugs and applies directed mutation towards high-priority targets. However, existing LTGF approaches suffer from coarse and heuristic target prioritization strategies, and lack a systematic design to fully exploit feedback from the fuzzing process. We systematically define this prioritization process as the reachable fuzzing targets problem. Bayesian program analysis attaches probabilities to analysis rules and transforms the analysis results into a Bayesian model. By redefining the semantics of Bayesian program analysis, we enable the prediction of whether each target is reachable by the fuzzer, and dynamically adjust the predictions based on fuzzer feedback. On the one hand, Bayesian program analysis builds Bayesian models based on program semantics, enabling systematic and fine-grained prioritization. On the other hand, Bayesian program analysis systematically learns feedback from the fuzzing process, making its guidance adaptive. Moreover, this combination extends the application of Bayesian program analysis from alarm ranking to fully automated bug discovery. We implement our approach and evaluate it against several state-of-the-art fuzzers. On a suite of real-world programs, our approach discovers 3.25× to 13× more unique bugs compared to baselines. In addition, our approach identifies 39 previously unknown bugs in well-tested programs, 30 of which have been assigned CVEs.

链接与引用

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

BibTeX
@article{ZhangZ26,
  title = {Fuzzing Guided by Bayesian Program Analysis},
  author = {Yifan Zhang and Xin Zhang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {POPL},
  year = {2026},
  doi = {10.1145/3776659}
}