引用本文:姜佳君,陈俊洁,熊英飞.软件缺陷自动修复技术综述.软件学报,2021,32(9):2665-2690
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 5997次   下载 13206 本文二维码信息
码上扫一扫!
分享到: 微信 更多
软件缺陷自动修复技术综述
姜佳君1, 陈俊洁1, 熊英飞2,3
1.天津大学智能与计算学部, 天津 300350;2.北京大学信息科学技术学院 计算机科学技术系 软件研究所, 北京 100871;3.高可信软件技术教育部重点实验室(北京大学), 北京 100871
摘要:
软件缺陷是软件开发和维护过程中不可避免的.随着现代软件规模的不断变大,软件缺陷的数量以及修复难度随之增加,为企业带来了巨大的经济损失.修复软件缺陷,成为了开发人员维护软件质量的重大负担.软件缺陷自动修复技术有希望将开发者从繁重的调试中解脱出来,近年来成为热门的研究领域之一.搜集了94篇该领域最新的高水平论文,进行了详细的分析和总结.基于缺陷修复技术在补丁生成阶段所使用的技术手段不同,系统性地将软件自动修复技术分为4大类,分别是基于启发式搜索、基于人工模板、基于语义约束和基于统计分析的修复技术.特殊地,根据对近几年最新研究的总结,首次提出了基于统计分析的技术分类,对已有分类进行了补充和完善.随后,基于对已有研究的分析,总结了该领域研究所面临的关键挑战及对未来研究的启示.最后,对缺陷修复领域常用的基准数据集和开源工具进行了总结.
关键词:  软件维护  软件质量保障  软件缺陷修复  程序调试  软件自动化
DOI:10.13328/j.cnki.jos.006274
分类号:
基金项目:国家自然科学基金(62002256,61922003);天津市智能制造专项资金项目(20193155)
Survey of Automatic Program Repair Techniques
JIANG Jia-Jun1, CHEN Jun-Jie1, XIONG Ying-Fei2,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 proposed the category of statistical-analysis-based APR for the first time based on the most recent publications, which complements and improves existing taxonomy. Based on existing techniques, the key challenges and insights are summarized for future research. Finally, benchmarks and open-source APR tools are briefly summarized for reference.
Key words:  software maintenance  software quality assurance  program repair  program debugging  software automation

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: