LIPLAB博士生钟文康在自动程序修复研究中取得新进展

发布日期:2023-11-06 浏览次数:

自动程序修复技术(Automated Program Repair, APR)旨在自动修复软件中的缺陷。迄今为止,已经设计了超过40种具有不同错误修复策略的自动化程序修复(APR)工具。这些工具包含各种流派(基于启发式搜索、基于语义约束、基于模板、基于学习)。那么当一个新的、性能更强的APR技术被提出时,是否意味着以前的工作都没有用了呢?答案是否定的,因为我们发现不同工具在不同类别的bug上的修复性能存在差异。也就是说,这些不同的工具的修复能力存在互补性。那么一个很简单的想法就是:通过集成现有工具来提高APR的整体bug修复性能应该是可行的。然而,在修复每个bug时都全部调用这些APR工具固然会提高修复bug的概率,却会导致APR执行以及补丁验证(通过昂贵的测试)上不可接受的成本。因此,亟需一种有效的策略来更有效的集成现有工具。



针对上述问题,我们提出了一个基于偏好的集成程序修复框架(P-EPR),它能针对输入的bug对不同的APR工具进行排序。 这样,用户在面对不同的bug时,可以选择修复概率更高的工具。P-EPR是第一个非基于学习的APR集成方法,其新颖之处在于将修复模式作为APR工具排名的主要知识来源,并依赖于动态更新策略,使其能够立即利用并受益于新导出的修复结果。实验结果表明,P-EPR策略在灵活性和有效性方面都明显优于现有策略。


该工作相关研究成果《Practical Program Repair via Preference-based Ensemble Strategy》被软件工程领域顶级国际会议 The 46th International Conference on Software Engineering ( ICSE 2024,CCF-A)全文录用,南京大学为第一作者单位。该论文其他合作者还有华为软件工程应用实验室刘逵、徐同同博士,美国德克萨斯大学达拉斯分校Vincent Ng教授、卢森堡大学Tegawendé F. Bissyandé 教授。


钟文康同学由语言智能处理研究组(LIPLAB)骆斌、葛季栋、李传艺老师共同指导,主要研究方向为自动程序修复,相关研究成果发表在软件学报、ASE 2022、Internetware 2022、ASE 2023、JSEP、ICSE 2024等会议和期刊。


LIPLAB主页:http://liplab.site