2023年4月1日,电子学会科学技术奖励大会在珠海召开。重点实验室牵头的项目“数据驱动的软件测试与修复”获得电子学会自然科学一等奖。
随着软件系统的规模和复杂度不断扩大,软件测试与修复的难度不断增加,成为现代软件开发的首要挑战。传统软件测试与修复技术的瓶颈在于无法处理软件元素的差异性。比如,传统测试技术用覆盖率来衡量测试揭错能力,但覆盖相同的测试仍可能在揭错能力上有较大差异。传统修复技术用测试衡量补丁正确性,但通过测试的补丁未必就是正确的。
过去二十年间蓬勃发展的数据驱动软件工程被认为是处理差异性的有效手段。但软件测试与修复高度依赖语法语义,而传统数据驱动方法无法处理程序语法语义。MIT、UC Berkeley等高校的多名学者都尝试过数据驱动的测试与修复,但其效果均没有超过传统测试修复方法。
项目组将程序语法语义的逻辑信息和数据中获得的概率信息进行深度融合,提出了数据驱动的程序合成框架,并成功应用于测试与修复。本项目方法大幅提升测试与修复的效果,首次显著超越传统测试与修复方法:提升测试揭错能力超过50%,在变异测试等特定应用上提升效率达到150倍,大幅降低测试成本,引领了数据驱动的测试新方向;将修复正确率从 38.5%提高到85.0%,修复缺陷数量提升了4倍,将修复技术提升到实用门槛,推动修复技术从实验室走向产业实践。研究成果推动形成了新的数据驱动测试与修复方向,成为后续大量工作的基础,被同行广泛引用和好评。其中1篇在软件工程顶级会议上同年引用排名第一,2篇在软件工程顶级会议期刊上同年引用排名第二,1篇是ESI高被引论文,2篇获得ACM SIGSOFT杰出论文奖。测试方面的成果被第三方学者在主题演讲中重点介绍,被认为是“增强软件测试实践的新路线”。修复方面的成果被其他三名学者在综述文章中指出开辟了“崭新前景”。
项目成果推动工业界应用数据驱动测试与修复技术,成果也被直接转化到华为、中兴、百度、阿里巴巴等单位。
项目的主要完成人包括北京大学的熊英飞副教授、郝丹教授、张路教授,以及团队的博士毕业生、天津大学陈俊洁副教授和姜佳君副研究员。