引用本文:李斌,贺也平,马恒太.程序自动修复:关键问题及技术.软件学报,2019,30(2):244-265
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 4958次   下载 11891 本文二维码信息
码上扫一扫!
分享到: 微信 更多
程序自动修复:关键问题及技术
李斌1,2, 贺也平1,2,3, 马恒太2
1.中国科学院大学, 北京 100049;2.基础软件国家工程研究中心(中国科学院 软件研究所), 北京 100190;3.计算机科学国家重点实验室(中国科学院 软件研究所), 北京 100190
摘要:
程序自动修复技术能够有效地降低软件维护成本,是近年来学术研究的热点问题.待修复程序规约的刻画,对自动修复过程具有至关重要的作用.从规约的角度对程序自动修复问题和技术进行了分析梳理.从待修复程序是否具有完整的程序规约,将现有修复问题分为不完全规约、完全规约和半完全规约这3大类待修复问题.以3类抽象问题为线索,梳理了不同前提假设下修复技术面临的核心问题、问题之间的联系和技术体系中的逻辑关系.分析了不完全规约程序修复问题中高精度补丁生成、规约补全和补丁择优等问题,梳理了完全规约程序修复问题中内存泄漏、资源泄露、并发错误中的数据竞争、原子性违背、顺序违背和死锁,配置错误以及特定性能错误等具体问题及研究进展,整理了半完全规约程序修复问题中多种形式的修复具体问题及研究进展.最后分析了程序自动修复面临的机遇和挑战.
关键词:  程序自动修复  静态分析  程序规约  补丁生成  测试集
DOI:10.13328/j.cnki.jos.005657
分类号:
基金项目:核高基国家科技重大专项(2014ZX01029101-002)
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 complete specifications repair. The various specific repair problems and research progress of the semi-complete specifications repair problem are collated. Finally, the opportunities and challenges faced by automatic program repair are analyzed.
Key words:  automatic program repair  static analysis  program specification  patch generation  test suite

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