BeDivFuzz:将行为多样性集成到基于生成器的模糊测试中
软件工程
2022-03-01 v1
摘要
评估模糊测试器性能的常用指标是分支覆盖率。然而,我们认为仅关注覆盖许多不同分支(即丰富度)是不够的,因为绝大多数被覆盖的分支可能仅被执行过一次,这无法让人对被覆盖代码的可靠性产生高置信度。相反,也应考虑已执行分支的分布(即均匀度)。也就是说,仅当生成的输入不仅触发许多不同分支,而且以多样化输入均匀频繁地触发它们时,才具备行为多样性。我们引入 BeDivFuzz,一种面向基于生成器的模糊测试器的反馈驱动模糊测试技术。BeDivFuzz 在句法有效输入的空间中区分结构保持与结构改变变异,并基于接收到的程序反馈将其变异策略偏向于有效性与行为多样性。我们已在 Ant、Maven、Rhino、Closure、Nashorn 和 Tomcat 上评估了 BeDivFuzz。结果表明,按既定生物多样性指标(即来自生态学领域的 Hill 数)衡量,BeDivFuzz 比当前最优方法实现了更好的行为多样性。
引用
@article{arxiv.2202.13114,
title = {BeDivFuzz: Integrating Behavioral Diversity into Generator-based Fuzzing},
author = {Hoang Lam Nguyen and Lars Grunske},
journal= {arXiv preprint arXiv:2202.13114},
year = {2022}
}
备注
To appear in the proceedings of the 44th International Conference on Software Engineering (ICSE 2022)