Page 263 - 《软件学报》2024年第4期
P. 263

软件学报 ISSN 1000-9825, CODEN RUXUEW                                        E-mail: jos@iscas.ac.cn
                 Journal of Software,2024,35(4):1841−1860 [doi: 10.13328/j.cnki.jos.006924]  http://www.jos.org.cn
                 ©中国科学院软件研究所版权所有.                                                          Tel: +86-10-62562563



                                                              *
                 基于指针神经网络的细粒度缺陷定位

                                                                                  4
                                                         4
                 王尚文  1 ,    刘    逵  2 ,    林    博  1 ,    黎    立  3 ,    Jacques KLEIN ,    Tegawendé François BISSYANDÉ ,    毛晓光  1
                 1
                  (国防科技大学 计算机学院, 湖南 长沙 410073)
                 2
                  (南京航空航天大学 计算机科学与技术学院, 江苏 南京 210016)
                 3
                  (Monash University, Clayton VIC 3800, Australia)
                 4
                  (University of Luxembourg, Luxembourg L-1359, Luxembourg)
                 通信作者: 刘逵, E-mail: kui.liu@nuaa.edu.cn
                 摘 要: 软件缺陷定位是指找出与软件失效相关的程序元素. 当前的缺陷定位技术仅能产生函数级或语句级的定
                 位结果. 这种粗粒度的定位结果会影响人工调试程序和软件缺陷自动修复的效率和效果. 专注于细粒度地识别导
                 致软件缺陷的具体代码令牌, 为代码令牌建立抽象语法树路径, 提出基于指针神经网络的细粒度缺陷定位模型来
                 预测出具体的缺陷代码令牌和修复该令牌的具体操作行为. 开源项目中的大量缺陷补丁数据集包含大量可供训练
                 的数据, 且基于抽象语法树构建的路径可以有效捕获程序结构信息. 实验结果表明所训练出的模型能够准确预测
                 缺陷代码令牌并显著优于基于统计的与基于机器学习的基线方法. 另外, 为了验证细粒度的缺陷定位结果可以贡
                 献于缺陷自动修复, 基于细粒度的缺陷定位结果设计两种程序修复流程, 即代码补全工具去预测正确令牌的方法
                 和启发式规则寻找合适代码修复元素的方法, 结果表明两种方法都能有效解决软件缺陷自动修复中的过拟合问题.
                 关键词: 缺陷定位; 缺陷自动修复; 神经网络
                 中图法分类号: TP311

                 中文引用格式: 王尚文, 刘逵, 林博, 黎立, Klein J, Bissyandé TF, 毛晓光. 基于指针神经网络的细粒度缺陷定位. 软件学报, 2024,
                 35(4): 1841–1860. http://www.jos.org.cn/1000-9825/6924.htm
                 英文引用格式: Wang SW, Liu K, Lin B, Li L, Klein J, Bissyandé TF, Mao XG. Fine-grained Defect Localization Based on Pointer
                 Neural Network. Ruan Jian Xue Bao/Journal of Software, 2024, 35(4): 1841–1860 (in Chinese). http://www.jos.org.cn/1000-9825/6924.
                 htm

                 Fine-grained Defect Localization Based on Pointer Neural Network
                                              1
                                                   3
                               1
                                                                4
                                                                                           4
                                       2
                 WANG Shang-Wen , LIU Kui , LIN Bo , LI Li , Jacques KLEIN , Tegawendé François BISSYANDÉ ,
                 MAO Xiao-Guang 1
                 1
                 (College of Computer Science and Technology, National University of Defense Technology, Changsha 410073, China)
                 2
                 (College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China)
                 3
                 (Monash University, Clayton VIC 3800, Australia)
                 4
                 (University of Luxembourg, Luxembourg L-1359, Luxembourg)
                 Abstract:  Software  defect  localization  refers  to  the  activity  of  finding  program  elements  that  are  related  to  software  failure.  The  existing
                 defect  localization  techniques,  however,  can  only  produce  localization  results  at  the  function  or  statement  level.  These  coarse-grained
                 localization  results  can  affect  the  efficiency  and  effectiveness  of  manual  debugging  and  automatic  software  defect  repair.  This  study
                 focuses  on  the  fine-grained  identification  of  specific  code  tokens  that  lead  to  software  defects.  The  study  establishes  abstract  syntax  tree
                 paths  for  code  tokens  and  proposes  a  fine-grained  defect  localization  model  based  on  a  pointer  neural  network  to  predict  specific  code


                 *    基金项目: 国家自然科学基金  (62172214); 江苏省自然科学基金  (BK20210279)
                  收稿时间: 2021-11-16; 修改时间: 2022-06-05, 2022-11-03, 2023-02-15; 采用时间: 2023-03-05; jos 在线出版时间: 2023-08-23
                  CNKI 网络首发时间: 2023-08-28
   258   259   260   261   262   263   264   265   266   267   268