基于搜索的多故障自动程序修复

来源 :北京化工大学 | 被引量 : 0次 | 上传用户:huayi8888
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件开发过程中,程序错误是不可避免的,实际上,一个软件中可能会发生多个错误,解决这些错误主要包括两个步骤:错误定位和程序修复。当前错误定位的有效性和自动程序修复(Automatic Program Repair,APR)技术可能会受到多个错误共存的影响。因此,在定位错误时,需要针对定位多错误来确定错误与测试用例之间的关系。现有修复错误的技术主要关注于如何有效并且高效地修复程序中的单错误,这在大多数情况下并不适用,因为在现实世界中,大多数程序都包含多个错误,这些错误通过测试用例相互连接。近年来,对多错误程序的自动修复的研究并不完全,将多错误定位与修复方法相结合,以修复给定程序的所有错误,是多错误修复方面的一个主要研究课题。为了解决上述问题,本文提出了一种基于GenProg的基于搜索的多错误自动修复方法,该方法采用k-medoids聚类实现错误定位,使用变异自动修复程序中所有错误。该方法首先使用K-medoids聚类和Dstar错误定位技术来确定测试用例与错误之间的关系,生成多错误定位信息。该方法确定哪个测试用例与哪个错误相关,并且在聚类时标识测试用例来完成,确定测试用例与错误的关系对于修复多错误是有必要的。利用此故障定位信息的优势,该方法根据语句位置和变异算子生成一个非随机初始种群,种群中的个体是经过进一步验证的粗糙补丁,然后是包含两种类型交叉的混合交叉用于加速错误修复的整个搜索空间。使用上述实验环境,对 SIR(Software-artifact Infrastructure Repository,SIR)库中的7个程序进行了实验。实验结果表明,本文提出的方法在自动修复程序的多个错误版本方面是有效并且是高效的。我们的方法中使用的错误定位方法可以有效地定位和识别测试用例之间的关系,而基于搜索的修复方法可以有效地修复由错误定位信息推荐的错误。
其他文献
我国竞技体育发展的成功经验,充分证明了对教练员的培养具有重大的战略意义。教练员在羽毛球运动的发展过程中担任着最重要的角色,对教练员培训的评估工作也是我国羽毛球事业
滚动轴承是众多工程领域内旋转机械中最为常见且最不可或缺的部件,它常处于变转速及变载荷工况条件下被使用,所处环境十分恶劣,导致成为最易受损的部件之一,其运行状态的好坏直接影响着系统的运行。因此,在非平稳状态下滚动轴承的故障特征提取是早期监测以及后期故障诊断最为关键之处。共振解调技术是目前最为常见的轴承故障诊断方法,但要求恒定转速作为前提条件,实际工作中轴承的变转速运行及齿轮啮合的干扰,终将导致以共振
针对非线性系统的研究越来越广泛,典型非线性系统,如混沌系统,神经网络等是目前的研究热点。现场可编程门阵列(FPGA)与传统的大规模集成电路相比,具有可重构性好、并行性高的
卫星定位数据是由卫星定位系统产生的测定目标当前地理位置的数据,被广泛地应用在军事、民生及科研领域。然而,卫星定位数据与目标的实际位置不可避免地有一定的偏差,给定位
随着数字集成电路的飞速发展,越来越多的模拟集成电路向数字方向靠拢,但其中,作为连接模拟信号与数字信号的桥梁,模数转换器(Analog to Digital Converter,ADC)仍然是通信系
我国是世界上高原海拔最高、人口最多的国家。随着高原地区经济、社会的迅速发展,急进高原的人数与日俱增,缺氧导致的急性高原病(Acute Mountain Sickness,AMS)成为急进高原
句法分析是自然语言理解的一项基础技术,是迈向深层语言理解的基石,在语义分析、问答系统、搜索引擎、信息抽取和检索等许多自然语言处理任务中不可或缺。随着信息技术的不断
金属卤化物钙钛矿发光二极管(PeLEDs)是一种极具发展前景的新型光源。近年来,通过控制化学计量比、钝化缺陷和尺寸工程等多种策略对钙钛矿微观结构进行调控,极大地提高了钙钛
由于地铁交通建设对社会经济影响深远、建设规模较大、对施工技术要求较高等原因,对地铁施工项目的安全管理也提出了更高的要求,需要站在更高的角度对地铁施工项目进行管理。
开展政治生态分析研判是全面从严治党的重要抓手,聚焦"关键少数",以党的政治建设为统领,查找短板弱项,提出加强和改进的措施,为推进全面从严治党责任落实落细明确努力方向,有