iSE博士生张犬俊在基于深度学习的程序修复方面取得新进展

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


软件系统演进过程中缺陷产生不可避免。人工代码修复方法耗费大且挑战重重。为了减低成本提高效率,自动程序修复技术 APR 成为研究和应用的焦点。APR 旨在无需人工干预的情况下自动化地修复程序中的已知缺陷。近年来,随着深度学习在软件工程领域的应用,以及开源社区中大量缺陷修复数据的可获得性,基于深度学习的程序修复技术成为可能。基于深度学习的自动程序修复技术展现出迅速的发展势头,为社区提供了多元化的解决方案。然而,不同的研究工作往往针对修复流程中的不同阶段、不同的修复场景,并在训练策略、数据处理手段、代码表示、模型架构和评估指标等方面存在较大差异。这些差异化的设计使得研究者难以对社区的现有工作进行梳理,严重阻碍了学术界的研究拓展和工业界的应用推广,因而迫切需要统一化表示,并总结分析现有基于深度学习的程序修复技术的特性。



为解决上述问题,iSE 实验室博士生张犬俊在房春荣老师和陈振宇老师的指导下,对当前流行的基于深度学习的自动程序修复技术进行了系统性的收集、梳理、汇总和分析。该研究首先梳理了修复流程中的不同阶段,详细分析了深度学习如何应用于各个阶段的典型案例。同时研究也关注了大型语言模型对软件工程社区所带来的影响,并梳理了大型语言模型在程序修复方面的应用。系统评估了现有的数据集、评价指标及实证研究;同时并从工业应用、开放科学以及深度学习与传统修复方法的结合等多角度进行了深入讨论。该研究指出了将深度学习应用于程序修复领域的现有挑战以及未来的可能策略,供学术界和工业界参考。


该研究首次全面系统分析了基于深度学习的程序修复的现有成果和未来的挑战,展现了以大语言模型为代表的深度学习技术在补丁生成方面的广阔前景。这项工作对于该领域的未来发展具有重要的意义,值得研究人员和工业界的持续关注,后续将维护一个面向全球的 APR 资源网站社区。相关研究成果形成了《 A Survey of Learning-based Automated Program Repair 》已被软件工程领域顶级国际期刊ACM Transactions on Software Engineering and Methodology( CCF - A类期刊 )全文录用,南京大学为唯一单位。


张犬俊同学由陈振宇教授和房春荣助理研究员共同指导,其主要研究方向包括智能软件测试和自动程序修复。张犬俊的研究成果先后全文发表在 ISSTA、ICSE、ASE、ACL、TSE、TDSC、TOSEM 等 CCF A 类会议和期刊。张犬俊博士将并继续完善基于深度学习( 尤其是当前的大语言模型 )的程序修复技术研究,形成系统性的学术研究和工业应用,完成博士毕业论文计划。