paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SLF: Fuzzing without Valid Seed Inputs

SLF:无需有效种子输入的模糊测试
ICSE 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)2019匹配度 1/10 · 该论文关注模糊测试中无效种子输入下的种子生成与输入有效性检查识别,属于软件测试/动态分析方向,与用户核心关注的静态分析、LLM/Agent 改进静态分析、浮点程序分析及贝叶斯程序分析均无明显交叉。引用 64 inbox
Wei You, Xuwei Liu, Shiqing Ma, David Perry, Xiangyu Zhang, Bin Liang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 SLF,在缺少有效种子输入时自动识别输入有效性检查并生成有效种子,提升模糊测试效果。

模糊测试通常依赖少量有效种子输入进行变异,但缺少有效种子时性能显著下降;符号执行虽能从零生成种子,却受限于复杂真实软件。本文提出 SLF,它借助 AFL 识别输入有效性检查及影响这些检查的输入字段,并按输入关系将检查分类为算术关系、对象偏移、数据结构长度等。随后设计多目标搜索算法,针对不同类别施加特定变异,以同时满足相互依赖的检查。作者在 20 个来自模糊测试项目和 Google fuzzer test suite 的基准程序上评估,与 AFL、AFLFast、KLEE、S2E 及混合工具 Driller 比较。结果表明 SLF 高效且效果显著,优于对比工具。

问题
模糊测试在缺少有效种子输入时性能显著下降,而现有符号执行生成种子的方法在复杂真实软件中受限。
方法
SLF 基于 AFL 识别输入有效性检查及相关输入字段,对检查分类,并用多目标搜索算法施加类别特定变异,以同时满足相互依赖的检查。
评估
在 20 个基准程序上与 AFL、AFLFast、KLEE、S2E 和 Driller 对比,显示 SLF 更高效且效果更好。
原文摘要(Abstract)

Fuzzing is an important technique to detect software bugs and vulnerabilities. It works by mutating a small set of seed inputs to generate a large number of new inputs. Fuzzers' performance often substantially degrades when valid seed inputs are not available. Although existing techniques such as symbolic execution can generate seed inputs from scratch, they have various limitations hindering their applications in real-world complex software. In this paper, we propose a novel fuzzing technique that features the capability of generating valid seed inputs. It piggy-backs on AFL to identify input validity checks and the input fields that have impact on such checks. It further classifies these checks according to their relations to the input. Such classes include arithmetic relation, object offset, data structure length and so on. A multi-goal search algorithm is developed to apply class-specific mutations in order to satisfy inter-dependent checks all together. We evaluate our technique on 20 popular benchmark programs collected from other fuzzing projects and the Google fuzzer test suite, and compare it with existing fuzzers AFL and AFLFast, symbolic execution engines KLEE and S2E, and a hybrid tool Driller that combines fuzzing with symbolic execution. The results show that our technique is highly effective and efficient, out-performing the other tools.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{YouLMPZ019,
  title = {SLF: Fuzzing without Valid Seed Inputs},
  author = {Wei You and Xuwei Liu and Shiqing Ma and David Perry and Xiangyu Zhang and Bin Liang},
  booktitle = {ICSE},
  year = {2019},
  doi = {10.1109/icse.2019.00080}
}