国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:欧先飞,蒋炎岩,许畅
单位:欧先飞,计算机软件新技术全国重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机学院, 江苏 南京 21002311,蒋炎岩,计算机软件新技术全国重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机学院, 江苏 南京 21002302,许畅,计算机软件新技术全国重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机学院, 江苏 南京 21002303
关键词:编译器测试;语义可感知的模糊测试;灰盒模糊测试
基金:国家重点研发计划(2022YFB4501801); 国家自然科学基金(62025202, 62272218); 江苏省前沿引领技术基础研究专项(BK20202001)
模糊测试技术在软件质量保障、软件安全测试等领域起到重要作用. 然而, 在面对编译器这样输入语义复杂的系统时, 现有的模糊测试工具由于其变异策略中缺乏对语义的感知能力, 导致生成的程序难以通过编译器前端检查. 提出了一种语义可感知的灰盒模糊测试方法, 旨在提高模糊测试工具在编译器测试领域的效能. 设计并实现了一系列可保持输入语义合法性并探索上下文多样性的变异操作符, 并针对这些操作符的特点开发了高效的选择策略. 将这些策略与传统的灰盒模糊测试工具相结合, 实现了灰盒模糊测试工具SemaAFL. 实验结果表明, 通过应用这些变异操作符, SemaAFL在GCC和Clang编译器上的代码覆盖率相比AFL++和同类工具GrayC提高了约14.5%和11.2%. 在为期一周的实验期间, SemaAFL发现并报告了6个以前未被发现的GCC和Clang缺陷.
来源:2025年第7期
《软件学报》期刊编辑部