摘要:程序自动修复技术能够有效地降低软件维护成本,是近年来学术研究的热点问题.待修复程序规约的刻画,对自动修复过程具有至关重要的作用.从规约的角度对程序自动修复问题和技术进行了分析梳理.从待修复程序是否具有完整的程序规约,将现有修复问题分为不完全规约、完全规约和半完全规约这3大类待修复问题.以3类抽象问题为线索,梳理了不同前提假设下修复技术面临的核心问题、问题之间的联系和技术体系中的逻辑关系.分析了不完全规约程序修复问题中高精度补丁生成、规约补全和补丁择优等问题,梳理了完全规约程序修复问题中内存泄漏、资源泄露、并发错误中的数据竞争、原子性违背、顺序违背和死锁,配置错误以及特定性能错误等具体问题及研究进展,整理了半完全规约程序修复问题中多种形式的修复具体问题及研究进展.最后分析了程序自动修复面临的机遇和挑战.
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.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/5657
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
程序自动修复:关键问题及技术
本站小编 Free考研考试/2022-01-02
相关话题/程序 技术 逻辑 过程 数据
增强上下文的错误定位技术
摘要:错误定位就是寻找程序错误的位置.现有的错误定位方法大多利用测试用例的覆盖信息,以标识一组导致程序失效的可疑语句,却忽视了这些语句相互作用导致失效的上下文.因此,提出一种增强上下文的错误定位方法Context-FL,以构建上下文的方式来优化错误定位性能.Context-FL利用动态切片技术构建数 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02一个支持错误定位的批处理数据拥有性证明方案
摘要:数据拥有性证明技术是当前云存储安全领域中的一大重要研究内容,目的是不必下载所有文件,就能安全而高效地远程校验存储在云服务器中的数据是否完整.目前已陆续提出了许多批处理数据拥有性证明方案,但大多数方案都没有考虑用户数据出错后的错误定位问题,仅有的几个批处理校验方案也只能单独定位错误数据所在服务器 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02软件过程与管理方法综述
摘要:工程化软件开发需要对软件开发整个过程进行有效的组织和管理,由此产生了一系列软件开发组织和管理方法,其主要目的是形成一种载体,用以积累和传递关于软件开发的经验教训.然而,由于软件开发的一些天然特性(比如复杂性和不可见性)的存在,使得描述软件开发过程的软件开发与组织方法也天然地带着一定的抽象性.由 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02程序理解:现状与未来
摘要:程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02程序分析研究进展
摘要:在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02数据模型及其发展历程
摘要:数据库是数据管理的技术,是计算机学科的重要分支.经过近半个世纪的发展,数据库技术形成了坚实的理论基础、成熟的商业产品和广泛的应用领域.数据模型描述了数据库中数据的存储方式和操作方式.从数据组织形式,可以将数据模型分为结构化模型、半结构化模型、OLAP分析模型和大数据模型.20世纪60年代中后期 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02大数据管理系统的历史、现状与未来
摘要:大数据管理技术正在经历以软件为中心到以数据为中心的计算平台的变迁,传统的关系型数据库管理系统无法满足现在以数据为中心的大数据管理的需求,设计新型大数据管理系统迫在眉睫.首先回顾了数据管理技术的发展历史;之后,从大数据管理的存储、数据模型、计算模式、查询引擎等方面分析了大数据管理系统的现状,指出 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02新型数据管理系统研究进展与趋势
摘要:随着各类新型计算技术和新兴应用领域的浮现,传统数据库技术面临新的挑战,正在从适用常规应用的单一处理方法逐步转为面向各类特殊应用的多种数据处理方式.分析并展望了新型数据管理系统的研究进展和趋势,涵盖分布式数据库、图数据库、流数据库、时空数据库和众包数据库等多个领域.具体而言:分布式数据管理技术是 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02一种保序加密域数据库认证水印算法
摘要:加密域水印技术适用于云环境下的隐私保护(加密)和数据安全认证(加水印).通过结合保序加密、离散余弦变换、密码哈希和数字水印技术,提出了加密域数据库认证水印算法.首先对数据进行保序加密,以达到对敏感数据内容的隐私保护;对加密后的数据进行分组和离散余弦变换处理,然后将交流系数的哈希(Hashing ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向智能制造的业务过程管理与服务技术专题前言
摘要:业务过程管理(businessprocessmanagement,简称BPM)致力创新企业业务过程管理、分析、控制与改进的系统化与结构化方法,其目标在于改进产品质量、提升服务水平,是现代信息系统的共性基础技术.当今全球产业结构正呈现由“工业型经济”向“服务型经济”加速转型.智能制造是实施《中国 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02