摘要:软件缺陷是软件开发和维护过程中不可避免的.随着现代软件规模的不断变大,软件缺陷的数量以及修复难度随之增加,为企业带来了巨大的经济损失.修复软件缺陷,成为了开发人员维护软件质量的重大负担.软件缺陷自动修复技术有希望将开发者从繁重的调试中解脱出来,近年来成为热门的研究领域之一.搜集了94篇该领域最新的高水平论文,进行了详细的分析和总结.基于缺陷修复技术在补丁生成阶段所使用的技术手段不同,系统性地将软件自动修复技术分为4大类,分别是基于启发式搜索、基于人工模板、基于语义约束和基于统计分析的修复技术.特殊地,根据对近几年最新研究的总结,首次提出了基于统计分析的技术分类,对已有分类进行了补充和完善.随后,基于对已有研究的分析,总结了该领域研究所面临的关键挑战及对未来研究的启示.最后,对缺陷修复领域常用的基准数据集和开源工具进行了总结.
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.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6274
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
软件缺陷自动修复技术综述
本站小编 Free考研考试/2022-01-02
相关话题/软件 技术 研究所 数据 论文
基于日志挖掘的微服务测试集缩减技术
摘要:微服务系统每轮迭代过程中都需要进行回归测试,大量重复测试会造成资源浪费,可通过减少测试用例集的规模来降低成本,以提高测试效率.现有测试用例集缩减技术主要依赖系统规约和架构描述作为输入,对于具有服务自治、调用关系不确定等特点的微服务系统实用性受限.并且,现有测试用例集缩减技术很少考虑使用场景,测 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02碎片化家谱数据的融合技术
摘要:家谱数据是典型的碎片化数据,具有海量、多源、异构、自治的特点.通过数据融合技术将互联网中零散分布的家谱数据融合成一个全面、准确的家谱数据库,有利于针对家谱数据进行知识挖掘和推理,从而为用户提供姓氏起源、姓氏变迁和姓氏间关联等隐含信息.在大数据知识工程BigKE模型的基础上,提出了一个结合HAO ...中科院软件研究所 本站小编 Free考研考试 2022-01-02一种高效低能耗移动数据采集与无线充电策略
摘要:在无线可充电传感器网络(wirelessrechargeablesensornetwork,简称WRSN)中,所面临的一项重要挑战是如何在高效收集传感器节点数据的同时,降低网络整体能量消耗.大多数现有数据收集策略或是不能适应大规模的充电传感器网络,或是没有充分考虑到传感器节点能量补充的问题,这 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02国产复杂异构高性能数值软件的研制与测试专题前言
摘要:中国科学院首个C类战略性先导科技专项XDC01000000主要目标已经达到.在数值软件层面,该先导专项第1阶段的主要任务是在复杂异构先进计算系统上研制高水平的基准测试软件HPL(highperformanceLinpack)和HPCG(highperformanceconjugategradi ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向异构计算的高性能计算算法与软件
摘要:研发适应国产异构计算环境的高性能计算算法与软件是非常重要的课题,对我国高性能计算软件研发匹配高性能计算硬件高水平发展的速度具有重要意义.首先,简要介绍高性能计算应用软件的现状、趋势和面临挑战,并对几类典型高性能计算应用软件开展并行计算算法特征分析,涵盖了宇宙N体模拟、地球系统模式、计算材料相场 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02Storm平台下的线程重分配与数据迁移节能策略
摘要:作为流式大数据计算的主要平台之一,Storm在设计过程中由于缺乏节能的考虑,导致其存在高能耗与低效率的问题.传统的节能策略并未考虑Storm的性能约束,可能会对集群的实时性造成影响.针对这一问题,设计了资源约束模型、最优线程重分配模型以及数据迁移模型.进一步提出了Storm平台下的线程重分配与 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向非确定性的软件质量保障方法与技术专题前言
摘要:随着互联网、物联网、云计算等新计算平台、新应用模式、及智能化等新软件模式的广泛运用,软件系统内外各种来源的非确定性不断增强.从软件系统内部的不确定性看,并发程序是一类典型的非确定性软件系统.并发程序由于其随机性高的特点,容易导致并发缺陷且难以调试.从软件系统外部的不确定性看,软件所处的网络环境 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02复杂软件系统的不确定性
摘要:复杂软件系统(如信息物理系统CPS、物联网IoT以及自适应软件系统等)在其开发和运行过程中会遇到各种类型的不确定性问题.针对这些不确定性问题,研究人员开展了大量的研究工作,提出了一系列的方法,取得了诸多成果.然而,由于此类系统本身固有的复杂性和其内在与外在不确定性的共同作用,截止目前研究人员针 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02高精度的大规模程序数据竞争检测方法
摘要:随着技术的不断发展,软件系统的非确定性(uncertainty)不断增强,数据竞争是并发系统这一类典型的非确定性软件系统中常见的缺陷.尽管数据竞争静态检测近年来取得了巨大进展,但其面临的重要问题仍然存在.先前的静态技术要么以分析精度为代价达到高扩展性,要么由于高精度分析而导致可扩展性问题.提出 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向分布式图计算作业的容错技术研究综述
摘要:随着图数据规模的日益庞大和图计算作业的日益复杂,图计算的分布化成为必然趋势.然而图计算作业在运行过程中面临着分布式图计算系统内外各种来源的非确定性所带来的严峻的可靠性问题.首先分析了分布式图计算框架中不确定性因素和不同类型图计算作业的鲁棒性,并提出了基于成本、效率和质量3个维度的面向分布式图计 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02