ASE 2026 杰出论文奖:基于生成器智能进化的混合模糊测试
近日,中国科学院软件研究所基础软件与系统重点实验室(基础软件测试与分析研究室)蔡彦课题组完成的论文《Hybrid Fuzzing in Input Generation Logic》获第41届 IEEE/ACM 自动化软件工程国际会议(ASE 2026)杰出论文奖(Distinguished Paper Award)。该研究提出了一种基于生成器智能进化的混合模糊测试方法,并实现了自动化测试工具 GenEvo,为复杂结构化输入的软件测试与漏洞挖掘提供了新思路。论文作者包括中国科学院软件研究所卫思为、祝世豪、蔡彦(通讯作者),以及新加坡国立大学孟瑞杰。

模糊测试面临的挑战
模糊测试通过持续生成测试输入、监测程序运行行为来发现软件缺陷。其核心挑战之一,是在保证输入格式有效的同时,尽可能探索多样、深入的程序行为。现有混合模糊测试方法虽然能够通过约束求解生成触达特定程序路径的输入,但后续字节级变异容易破坏校验和、字段依赖等结构,使输入在解析阶段就被拒绝。基于生成器的方法能够较好地维持输入结构,却往往受限于固定的生成逻辑或缺乏目标引导的变异,难以适应被测程序的具体实现。
研究成果
研究团队的核心创新是将定向求解与进化的对象从单个测试输入提升为输入生成逻辑。传统方法求解的是“什么输入能够触达目标分支”,GenEvo 则进一步求解“怎样的生成器能够持续产生触达目标分支的输入”。这一设计将格式约束保留在生成逻辑中,同时根据程序行为不断扩展生成器的能力,兼顾输入的结构有效性与语义多样性。

在技术实现上,GenEvo 利用大语言模型合成初始输入生成器,并围绕尚未覆盖的程序分支开展定向求解。为提高求解效果,工具结合符合格式规范的参考实现,以及从目标程序中检索出的相关代码,引导模型理解格式要求和程序特有的处理逻辑,生成新的输入生成器。同时,GenEvo 将定向求解与开销较低的随机变异相结合,通过覆盖率反馈评估生成器,保留能够探索新行为的生成逻辑并持续演化,实现广泛探索与困难分支突破的协同。
实验评估
研究团队在来自 FuzzBench、UniFuzz 和 Magma 的49个真实程序上开展评估,与涵盖通用、混合、结构感知、生成器及大模型辅助模糊测试的13种基线配置进行比较。实验使用本地部署的 Qwen3-32B 模型,结果显示,GenEvo 与传统模糊测试器协同运行时,相较所评估基线的分支覆盖率平均提升98.3%,在46个程序上取得最佳覆盖率,并在这些已被广泛测试的程序中发现25个此前未知的漏洞。
该研究表明,大语言模型不仅可以用于生成测试数据,还可以结合程序反馈,持续改进测试数据的生成逻辑,为提升自动化软件测试的覆盖深度和漏洞发现能力提供新的技术路径。

下载中心
会议室预定
电子邮箱