编辑: hys520855 2013-05-06
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.

ac.cn Journal of Software,2019,30(2):244?265 [doi: 10.13328/j.cnki.jos.005657] http://www.jos.org.cn ?中国科学院软件研究所版权所有. Tel: +86-10-62562563 程序自动修复:关键问题及技术 ? 李斌1,2 , 贺也平 1,2,3 , 马恒太

2 1 (中国科学院大学,北京 100049)

2 (基础软件国家工程研究中心(中国科学院 软件研究所),北京 100190)

3 (计算机科学国家重点实验室(中国科学院 软件研究所),北京 100190) 通讯作者: 李斌, E-mail: [email protected];

贺也平, E-mail:[email protected] 摘要: 程序自动修复技术能够有效地降低软件维护成本,是近年来学术研究的热点问题.待修复程序规约的刻 画,对自动修复过程具有至关重要的作用.从规约的角度对程序自动修复问题和技术进行了分析梳理.从待修复程序 是否具有完整的程序规约,将现有修复问题分为不完全规约、完全规约和半完全规约这

3 大类待修复问题.以3类抽象问题为线索,梳理了不同前提假设下修复技术面临的核心问题、问题之间的联系和技术体系中的逻辑关系.分 析了不完全规约程序修复问题中高精度补丁生成、 规约补全和补丁择优等问题,梳理了完全规约程序修复问题中内 存泄漏、资源泄露、并发错误中的数据竞争、原子性违背、顺序违背和死锁,配置错误以及特定性能错误等具体问 题及研究进展,整理了半完全规约程序修复问题中多种形式的修复具体问题及研究进展.最后分析了程序自动修复 面临的机遇和挑战. 关键词: 程序自动修复;

静态分析;

程序规约;

补丁生成;

测试集 中图法分类号: TP311 中文引用格式: 李斌,贺也平,马恒太.程序自动修复:关键问题及技术.软件学报,2019,30(2):244?265. http://www.jos.org.cn/ 1000-9825/5657.htm 英文引用格式: Li B, He YP, Ma HT. Automatic program repair: Key problems and technologies. Ruan Jian Xue Bao/Journal of Software, 2019,30(2):244?265 (in Chinese). http://www.jos.org.cn/1000-9825/5657.htm Automatic Program Repair: Key Problems and Technologies LI Bin1,2 , HE Ye-Ping1,2,3 , MA Heng-Tai2

1 (University of Chinese Academy of Sciences, Beijing 100049, China)

2 (National Engineering Center of Fundamental Software (Institute of Software, Chinese Academy of Sciences), Beijing 100190, China)

3 (State Key Laboratory of Computer Science (Institute of Software, Chinese Academy of Sciences), Beijing 100190, China) Abstract: Automatic program repair technology can effectively reduce the cost of software maintenance, which is a hot topic of academic research in recent years. Specifications description of to be fixed program plays a vital role in the automatic program repair process, this article analyses the problems and technologies of automatic program repair from specifications point of view. According to whether the specifications to be repaired program is complete, the existing repair problems are divided into three kinds of problems to be repaired, such as incomplete specifications, complete specifications, and semi-complete specifications problems to be repaired. It is analyzed that the core problems, the relationship between problems and the logical relationship of technology under different assumptions based on three kinds of abstract problems. Also analyzed issues are high-precision patch generation, specifications completion and patch selection in incomplete specifications repair, and the specific problems and progress in memory leak, resource leak, concurrency errors include data competition, atomic violation, sequence violation and deadlock, configuration error and specific performance error in ? 基金项目: 核高基国家科技重大专项(2014ZX01029101-002) Foundation item: CHB National Science and Technology Major Project of China (2014ZX01029101-002) 收稿时间: 2018-05-10;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题