软件缺陷定位是软件维护的关键环节,贯穿整个软件生命周期。基于信息检索的错误定位 ( IRBL ) 可以根据错误报告识别错误代码,从而加快开发人员的错误解决流程。近年来,在深度学习 ( DL ) 的广泛应用推动下,IRBL 取得了显著成就。
为了全面概述当前技术水平并深入探讨关键问题,我院语言智能处理实验室( LIPLAB )牛菲菲博士开展了一项涵盖 61 项利用深度学习的 IRBL 研究( 部分关键研究如图 1 所示 )的调查,总结了 IRBL 工作流程各个阶段的最佳实践,对先前的研究进行了汇总分析,并提出了未来的研究方向。
图1. 被综述论文概览
具体而言,本研究旨在指导该领域的进一步发展,加深对有效错误定位的理解并改进实践。研究结果表明,将深度学习与 IRBL 集成可以增强模型从错误报告和源代码中提取语义和语法信息的能力,从而解决词汇空白、忽略代码结构信息以及冷启动问题等问题。 IRBL 的未来研究方向包括探索编程语言的多样性、采用更细粒度的模型以及关注实际应用。最重要的是,尽管一些研究已经开始使用大型语言模型进行 IRBL 研究,但该领域仍需要更深入的探索和更彻底的研究。其中有待进一步解决的挑战包括:有效的训练数据样本抽样方法难设计、代码文件长度过长、定位结果难解释、不同语言和编程框架差异难以屏蔽等。
该研究工作成果 " When Deep Learning Meets Information Retrieval-based Bug Localization: A Survey " 已被计算机科学领域国际旗舰级期刊《 ACM Computing Surveys 》( CSUR,中科院 1 区,影响因子 23.8 )全文录用,南京大学为第一单位和通讯单位。LIPLAB 牛菲菲博士( 现于渥太华大学开展博后研究工作 )为第一作者,李传艺老师为通讯作者。