论文
与代理进行模糊测试?发电机就是您所需要的
Fuzzing with Agents? Generators Are All You Need
摘要
现代基于生成器的模糊测试技术将轻量级输入生成器与覆盖引导变异相结合,作为探索目标程序中深层执行路径的方法。先前研究中的一种补充方法侧重于创建高度定制的、特定领域的生成器,这些生成器对足以达到深层程序状态的结构和语义逻辑进行编码;挑战来自于编写和测试这些复杂生成器的开销。我们研究 AI 编码智能体 是否可以自动合成此类特定于目标的生成器,以及生成的生成器是否足够强大以完全消除覆盖指导和突变的需要。我们的方法 Gentoo 由 LLM 编码智能体(提供模糊目标及其库的终端访问和源代码)组成,指示迭代地综合和细化输入生成器,并可选择提供细粒度的谓词级覆盖反馈。我们针对 7 个真实 Java 库的模糊目标,针对人工编写的生成器评估了 Gentoo 的三种配置。我们的研究结果表明,在 7 个基准测试中的 4 个上,代理合成的生成器在统计上比人工编写的基线生成器实现了更高的分支覆盖率。至关重要的是,覆盖指导和变异策略的使用在统计上对于代理合成的生成器来说并不显着有益,但对于所有人类编写的生成器来说却很重要,这表明代理生成器中编码的结构和语义逻辑使得覆盖指导基本上没有必要。