近年来,大语言模型凭借其出色的自然语言和代码理解能力,在许多软件工程任务中取得了显著成果,展现了其在测试自动生成的巨大潜力。现有的测试生成工具虽然在覆盖率方面取得了较大进展,但难以理解被测程序行为,测试预言问题依然是重要挑战,即难以生成有效的测试断言来判断程序行为是否符合预期。
iSE 实验室博士生张犬俊通过大规模实验探索了大模型在单元测试断言生成方面的实际表现。分析了所生成的断言在检测真实软件缺陷上的实际表现。提出了一种基于检索增强的断言生成方法,进一步显著提升了现有大模型的断言生成准确率。此外,还从多个角度探讨了基于大语言模型的断言生成技术的有效性和局限性,包括断言生成数量、断言类型以及被测函数的规模等方面。该研究为未来研究工作提供了若干实践指导,以进一步优化大语言模型在断言生成任务中的表现。
该研究深入探索了大语言模型在单元测试中的广阔应用前景,能够有效帮助开发者生成高质量的测试断言,从而检测真实软件缺陷,对软件质量保障具有重要的学术和工业意义。研究成果《 Exploring Automated Assertion Generation via Large Language Models 》已被软件工程领域顶级国际期刊 Transactions on Software Engineering and Methodology( TOSEM,CCF-A类期刊 )全文录用。本研究得到了国家自然科学基金与 CCF - 华为胡杨林基金软件工程专项的资助,计划后期与华为开发者工具集成上线。
张犬俊同学由陈振宇教授和房春荣副教授共同指导,主要研究方向为智能化软件测试和程序修复。张犬俊的研究成果先后全文发表在 ISSTA、ICSE、ASE、ACL、TSE、TDSC、TOSEM 等 CCF A 类会议和期刊。张犬俊同学将并继续完善基于大语言模型的缺陷检测和和修复技术研究,形成系统性的学术研究和工业应用。