paperbot · PL 论文追踪

全部论文 待读 收藏

P2 TensileFuzz: facilitating seed input generation in fuzzing via string constraint solving

TensileFuzz:通过字符串约束求解促进模糊测试中的种子输入生成
ISSTA Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis2022匹配度 3/10 · 论文属于模糊测试中的种子生成与字符串约束求解,和程序分析/约束求解有间接关联,但不涉及用户核心关注的 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析。其问题驱动和工程实现风格有一定参考价值,但研究方向整体较远。引用 11 inbox
Xuwei Liu, Wei You, Zhuo Zhang, Xiangyu Zhang
crossref: 2026-09-12

AI 速览

一句话:提出用字符串约束求解生成可增长的种子输入,并结合回归与梯度下降,显著提升路径覆盖。

基于变异的模糊测试高度依赖种子输入,而现有符号执行与梯度下降方法不适合输入增长:前者建模底层定长约束,后者仅处理算术路径条件。本文观察到增长输入需处理长度、偏移与计数关系,即某字段是另一字段的长度、偏移或模式计数。为此提出 TensileFuzz:将输入划分为字符串变量,在字段间插入填充变量,逆向这些关系形成字符串约束,求解后实例化填充变量以增长输入;再结合线性回归与梯度下降使增长后的输入满足路径约束以探索新路径。与 AFL、Qsym、Angora、SLF 等对比,路径覆盖率提升 39%–98%。

问题
现有种子输入生成技术(符号执行、梯度下降)难以有效进行输入增长,限制了基于变异模糊测试的路径探索。
方法
将输入字段建模为字符串变量并插入填充变量,逆向长度、偏移与计数关系为字符串约束,结合线性回归与梯度下降求解生成增长种子。
评估
与 AFL 及 Qsym、Angora、SLF 等先进模糊器在同类目标应用上对比,路径覆盖率提升 39%–98%。
原文摘要(Abstract)

Seed inputs are critical to the performance of mutation based fuzzers. Existing techniques make use of symbolic execution and gradient descent to generate seed inputs. However, these techniques are not particular suitable for input growth (i.e., making input longer and longer), a key step in seed input generation. Symbolic execution models very low level constraints and prefer fix-sized inputs whereas gradient descent only handles cases where path conditions are arithmetic functions of inputs. We observe that growing an input requires considering a number of relations: length, offset, and count, in which a field is the length of another field, the offset of another field, and the count of some pattern in another field, respective. String solver theory is particularly suitable for addressing these relations. We hence propose a novel technique called TensileFuzz, in which we identify input fields and denote them as string variables such that a seed input is the concatenation of these string variables. Additional padding string variables are inserted in between field variables. The aforementioned relations are reverse-engineered and lead to string constraints, solving which instantiates the padding variables and hence grows the input. Our technique also integrates linear regression and gradient descent to ensure the grown inputs satisfy path constraints that lead to path exploration. Our comparison with AFL, and a number of state-of-the-art fuzzers that have similar target applications, including Qsym, Angora, and SLF, shows that TensileFuzz substantially outperforms the others, by 39% - 98% in terms of path coverage.

链接与引用

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

BibTeX
@inproceedings{paperbot7375,
  title = {TensileFuzz: facilitating seed input generation in fuzzing via string constraint solving},
  author = {Xuwei Liu and Wei You and Zhuo Zhang and Xiangyu Zhang},
  booktitle = {ISSTA},
  year = {2022},
  doi = {10.1145/3533767.3534403}
}