Page 41 - 《软件学报》2021年第9期
P. 41

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


                                            ∗
         软件缺陷自动修复技术综述

                       1
               1
         姜佳君 ,   陈俊洁 ,   熊英飞  2,3
         1
          (天津大学  智能与计算学部,天津   300350)
         2 (北京大学  信息科学技术学院  计算机科学技术系  软件研究所,北京  100871)
         3 (高可信软件技术教育部重点实验室(北京大学),北京  100871)
         通讯作者:  陈俊洁, E-mail: junjiechen@tju.edu.cn

         摘   要:  软件缺陷是软件开发和维护过程中不可避免的.随着现代软件规模的不断变大,软件缺陷的数量以及修
         复难度随之增加,为企业带来了巨大的经济损失.修复软件缺陷,成为了开发人员维护软件质量的重大负担.软件缺
         陷自动修复技术有希望将开发者从繁重的调试中解脱出来,近年来成为热门的研究领域之一.搜集了 94 篇该领域最
         新的高水平论文,进行了详细的分析和总结.基于缺陷修复技术在补丁生成阶段所使用的技术手段不同,系统性地将
         软件自动修复技术分为 4 大类,分别是基于启发式搜索、基于人工模板、基于语义约束和基于统计分析的修复技术.
         特殊地,根据对近几年最新研究的总结,首次提出了基于统计分析的技术分类,对已有分类进行了补充和完善.随后,
         基于对已有研究的分析,总结了该领域研究所面临的关键挑战及对未来研究的启示.最后,对缺陷修复领域常用的基
         准数据集和开源工具进行了总结.
         关键词:  软件维护;软件质量保障;软件缺陷修复;程序调试;软件自动化
         中图法分类号: TP311


         中文引用格式:  姜佳君,陈俊洁,熊英飞.软件缺陷自动修复技术综述.软件学报,2021,32(9):2665−2690.  http://www.jos.org.cn/
         1000-9825/6274.htm
         英文引用格式:  Jiang JJ,  Chen JJ,  Xiong YF. Survey of  automatic program  repair techniques. Ruan Jian Xue Bao/Journal  of
         Software, 2021,32(9):2665−2690 (in Chinese). http://www.jos.org.cn/1000-9825/6274.htm
         Survey of Automatic Program Repair Techniques

                                  1
                    1
         JIANG Jia-Jun ,   CHEN Jun-Jie ,   XIONG Ying-Fei 2,3
         1
          (College of Intelligence and Computing, Tianjin University, Tianjin 300350, China)
         2
          (Software Engineering  Institute, Department  of Computer  Science and Technology,  School  of Electronics Engineering and Computer
          Science, Peking University, Beijing 100871, China)
         3
          (Key Laboratory of High Confidence Software Technologies of Ministry of Education (Peking University), Beijing 100871, China)
         Abstract:    Program defects are inevitable during the development and maintenance processes. With the rapid increase of software scales,
         the number and repair complexity of program defects increase as well, which has caused huge economic loss to enterprises, and becomes
         the big burden for developers during maintaining. Automatic program repair (APR) techniques have the potential to release developers
         from heavy debugging tasks,  and become  a popular  research topic  recently.  This study  collected the  most recent 94 high-quality
         publications in this research field. According to analyzing the approaches used for patch generation, APRs are systematically classified
         into  four categories, i.e.,  search-based, template-based, constraint-based, and  statistical-analysis-based APRs. Especially,  this study


            ∗  基金项目:  国家自然科学基金(62002256, 61922003);  天津市智能制造专项资金项目(20193155)
              Foundation item: National Natural Science Foundation of China (62002256, 61922003); Intelligent Manufacturing Special Fund of
         Tianjin (20193155)
             本文由“面向领域的软件系统构造与质量保障”专题特约编辑潘敏学教授、魏峻研究员、崔展齐教授推荐.
             收稿时间: 2020-09-13;  修改时间: 2020-10-26;  采用时间: 2020-12-19; jos 在线出版时间: 2021-01-15
   36   37   38   39   40   41   42   43   44   45   46