国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:高凤娟,王豫,司徒凌云,王林章
单位:高凤娟,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002311,王豫,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002302,司徒凌云,南京大学 信息管理学院, 江苏 南京 21002303,王林章,计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002304
关键词:软件测试;深度学习;路径表示;符号执行;模糊测试;混合测试
基金:国家自然科学基金(62032010);江苏省研究生科研与实践创新计划
随着软件技术的快速发展,面向领域的软件系统在广泛使用的同时带来了研究与应用上的新挑战.由于领域应用对安全性、可靠性有着很高的要求,而符号执行和模糊测试等技术在保障软件系统的安全性、可靠性方面已经发展了数十年,许多研究和被发现的缺陷表明了它们的有效性.但是,由于两者的优劣各有不同,将这两者相结合仍是近期热门研究的话题.目前的结合方法在于两者相互协助,例如,模糊测试不可达的区域交给符号执行求解.但是,这些方法只能在模糊测试(或符号执行)运行时判定是否应该借助符号执行(或模糊测试),无法同时利用这两者的优势,从而导致性能不足.基于此,提出基于深度学习,将基于符号执行的测试与模糊测试相结合的混合测试方法.该方法旨在测试开始之前就判断适合模糊测试(或符号执行)的路径集,从而制导模糊测试(或符号执行)到达适合它们的区域.同时,还提出混合机制实现两者之间的交互,从而进一步提升整体的覆盖率.基于 LAVA-M中程序的实验结果表明,所提方法相对于单独符号执行或模糊测试,能够提升 20%+的分支覆盖率,增加约 1~13倍的路径数目,多检测出 929个缺陷.
来源:2021年第4期
《软件学报》期刊编辑部