paperbot · PL 论文追踪

全部论文 待读 收藏

P2 FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage

FairFuzz:一种提升灰盒模糊测试覆盖率的定向变异策略
ASE Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering2018匹配度 2/10 · 该论文聚焦灰盒模糊测试中的稀有分支识别与定向变异策略,属于动态测试/覆盖引导测试,而非用户核心关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析。虽与程序分析与测试工程相邻且工程性强,但未涉及用户正在追的 PL-AI、AI-PL 或 LLM 与程序分析交叉方向。引用 369 inbox
Caroline Lemieux, Koushik Sen
crossref: 2026-09-12

AI 速览

一句话:通过识别稀有分支并动态生成变异掩码,引导 AFL 更高效地覆盖难达代码。

本文针对 AFL 等灰盒模糊测试工具因难以覆盖大范围代码而漏检缺陷的问题,提出 FairFuzz。该方法首先自动识别仅由少量输入触发的稀有分支,这些分支往往对应难以通过朴素变异覆盖的代码;随后设计了一种新的变异掩码生成算法,在模糊测试过程中动态计算掩码,使变异偏向于生成能够命中指定稀有分支的输入,并可适配不同测试目标。作者在 AFL 之上实现 FairFuzz,并在真实程序上与先进 AFL 版本对比。实验表明,FairFuzz 能更快达到高分支覆盖率;在具有嵌套条件结构的程序上,运行 24 小时后分支覆盖率持续提升,平均增加 10.6%;定性分析还发现其自动发现关键词的能力更强。

问题
灰盒模糊测试工具 AFL 虽然易用且擅长发现缺陷,但无法覆盖大量代码区域,因而会遗漏这些区域中的错误和安全漏洞。
方法
FairFuzz 自动识别被少量输入覆盖的稀有分支,并动态计算变异掩码,将变异偏向于生成能命中特定稀有分支的输入,且该掩码可适配其他测试目标。
评估
在真实程序上与先进的 AFL 版本对比,评估分支覆盖速度、24 小时后的覆盖率提升以及自动发现关键词的能力。
原文摘要(Abstract)

In recent years, fuzz testing has proven itself to be one of the most effective techniques for finding correctness bugs and security vulnerabilities in practice. One particular fuzz testing tool, American Fuzzy Lop (AFL), has become popular thanks to its ease-of-use and bug-finding power. However, AFL remains limited in the bugs it can find since it simply does not cover large regions of code. If it does not cover parts of the code, it will not find bugs there. We propose a two-pronged approach to increase the coverage achieved by AFL. First, the approach automatically identifies branches exercised by few AFL-produced inputs (rare branches), which often guard code that is empirically hard to cover by naively mutating inputs. The second part of the approach is a novel mutation mask creation algorithm, which allows mutations to be biased towards producing inputs hitting a given rare branch. This mask is dynamically computed during fuzz testing and can be adapted to other testing targets. We implement this approach on top of AFL in a tool named FairFuzz. We conduct evaluation on real-world programs against state-of-the-art versions of AFL. We find that on these programs FairFuzz achieves high branch coverage at a faster rate that state-of-the-art versions of AFL. In addition, on programs with nested conditional structure, it achieves sustained increases in branch coverage after 24 hours (average 10.6% increase). In qualitative analysis, we find that FairFuzz has an increased capacity to automatically discover keywords.

链接与引用

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

BibTeX
@inproceedings{paperbot4720,
  title = {FairFuzz: a targeted mutation strategy for increasing greybox fuzz testing coverage},
  author = {Caroline Lemieux and Koushik Sen},
  booktitle = {ASE},
  year = {2018},
  doi = {10.1145/3238147.3238176}
}