paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Guiding Greybox Fuzzing with Mutation Testing

用变异测试引导灰盒模糊测试
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 2/10 · 该论文属于软件测试中的灰盒模糊测试与变异测试结合,不涉及 LLM/Agent、静态分析、形式化验证、浮点程序分析或贝叶斯程序分析,与用户的核心研究方向(PL 与 AI 交叉)基本无关;仅在广义的软件工程/程序分析邻近领域有一定参考价值。引用 28 inbox
Vasudev Vikram, Isabella Laybourn, Ao Li, Nicole Nair, Kelton OBrien, Rafaello Sanna, Rohan Padhye
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出Mu2框架,将变异分析融入灰盒模糊测试循环,以合成高变异得分的回归测试输入语料。

灰盒模糊测试与变异测试长期基本独立。前者用于找新bug,多以代码覆盖率选择输入;后者用于评估回归测试质量。论文提出Mu2,一个Java框架,把变异分析纳入灰盒模糊测试循环,目标是生成高变异得分的测试输入语料。Mu2用差分预言识别能触发有趣程序行为但不致崩溃的输入。为克服逐个输入做变异分析的高开销,论文实现若干动态优化,在模糊测试吞吐量与变异杀死能力间存在权衡,并在五个真实Java基准上实证评估。总体上,Mu2变体合成的语料变异得分高于最先进Java模糊测试器Zest。

问题
灰盒模糊测试与变异测试两个研究领域此前缺乏结合;如何利用灰盒模糊测试合成具有高变异得分的回归测试输入语料尚未被充分探索。
方法
Mu2将变异分析融入灰盒模糊测试循环,使用差分预言识别能触发有趣程序行为但不导致崩溃的输入,并实现多种动态优化以降低对每个模糊测试输入执行变异分析的高昂开销。
评估
在五个真实Java基准上实证评估Mu2的不同变体,考察其在模糊测试吞吐量与变异杀死能力之间的权衡,并与最先进的Java模糊测试器Zest比较所合成语料的变异得分。
原文摘要(Abstract)

Greybox fuzzing and mutation testing are two popular but mostly independent fields of software testing research that have so far had limited overlap. Greybox fuzzing, generally geared towards searching for new bugs, predominantly uses code coverage for selecting inputs to save. Mutation testing is primarily used as a stronger alternative to code coverage in assessing the quality of regression tests; the idea is to evaluate tests for their ability to identify artificially injected faults in the target program. But what if we wanted to use greybox fuzzing to synthesize high-quality regression tests? In this paper, we develop and evaluate Mu2, a Java-based framework for incorporating mutation analysis in the greybox fuzzing loop, with the goal of producing a test-input corpus with a high mutation score. Mu2 makes use of a differential oracle for identifying inputs that exercise interesting program behavior without causing crashes. This paper describes several dynamic optimizations implemented in Mu2 to overcome the high cost of performing mutation analysis with every fuzzer-generated input. These optimizations introduce trade-offs in fuzzing throughput and mutation killing ability, which we evaluate empirically on five real-world Java benchmarks. Overall, variants of Mu2 are able to synthesize test-input corpora with a higher mutation score than state-of-the-art Java fuzzer Zest.

链接与引用

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

BibTeX
@inproceedings{VikramLLNOSP23,
  title = {Guiding Greybox Fuzzing with Mutation Testing},
  author = {Vasudev Vikram and Isabella Laybourn and Ao Li and Nicole Nair and Kelton OBrien and Rafaello Sanna and Rohan Padhye},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3598107}
}