大多数自动化程序修复方法依赖于测试用例来确定所生成补丁的正确性。然而,由于可用测试套件的不完整性,一些通过所有测试用例的补丁可能仍然不正确。这个问题被称为补丁过度拟合问题。过度拟合问题是自动化程序修复中长期存在的问题。由于补丁过度拟合,自动化程序修复工具获得的补丁需要进一步验证以确定其正确性,如图1所示,判断补丁正确性成为了自动程序修复研究中的一个子研究问题。研究人员提出了许多方法来自动评估补丁的正确性,但还没有哪一篇综述系统、详细地介绍这个问题以及现有解决方案和对应地挑战。
为了解决这个缺陷,我院语言智能处理研究组( LIPLAB )博士生费志伟系统地回顾了现有的补丁正确性评估方法,并完成了一篇综述论文。论文首先提供一些过度拟合补丁的例子,以便读者更详细地了解这个问题。然后,鲁汶提出了一个公开可用的技术和数据集的全面分类,检查常用的评估指标,并深入分析现有模型在解决过度拟合挑战方面的有效性。根据对现有方法的横向和纵向对比分析,论文总结了当前方法遇到的困难,以及未来可能的研究探索途径。
研究成果《 Patch Correctness Assessment: A Survey 》已被软件工程领域顶级国际期刊 ACM Transactions on Software Engineering and Methodology( TOSEM,CCF-A类期刊 )全文录用。该工作由我院葛季栋老师与美国SMU Liguo Huang老师合作指导完成,我院硕士生王天齐、李豫宁、张浩东、尹志欣等同学也参与了该项研究。
欢迎对该工作感兴趣的朋友来信交流:jewelpei@126.com