基于多源补丁的Java程序自动修复方法

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:qyjby
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件产品在我们的生活中有着越来越广泛的应用,程序的规模也急剧地上升,软件错误的产生可能会导致可怕的后果,而程序修复工作消耗了大量的资源。所以,自动化程序修复不仅可以降低程序开发人员的时间开销,还可以减少浪费在程序调试上面的时间。但是,真实世界的程序规模较大,当前修复方法对其支持效果不是很好,错误的修复率较低。程序补丁中的修复成分常常来源于被修复的程序自身,并且很多人工补丁的大体模式比较类似,存在复用的可能,因此本文也从开源代码仓库中挖掘可复用的修复模式,充分利用补丁成分的多源性,以期望对真实程序的修复。针对真实世界中的Java程序修复问题,本文研究了基于多源补丁的Java程序自动修复方法,具体的工作如下:首先,本文研究了基于程序自身冗余的修复方法j Genprog,针对其遗传操作生成补丁的语法合理性问题以及其修复点选择时的盲目性问题而在遗传操作时加入词法分析部分并使用可疑度加权的方法选择修复点加以改进,在Defects4j数据集上针对修复数量及时间上对比。结果表明本文方法在本文的参数设置上虽不能够产生更多的correct补丁,但在修复时间上本文方法相对于j Genprog方法提高了0.6min和1.1min,在plausible补丁的生成数量上均提高2个。然后,为了引入外部的修复模式来指导程序的修复工作,本文开展了修复模式的提取工作。本文从Git Hub中的44个开源项目的260392个commit中挖掘了75927个错误文件与修复文件对,利用Gum Tree代码差异分析方法以及代码上下文信息生成编辑脚本,对编辑脚本进行聚簇与过滤得到初筛的148个修复模式。再使用已有的研究与初筛后的修复模式一同人工归纳总结得出了10大类的错误修复模式。最后,将这10类修复模式加入到本文基于修复模式的方法构建中,并针对现有错误定位方法可疑列表排序不准确的问题提出一种可疑度列表的随机方法对错误定位加以改进,在真实条件与理想条件下分别进行针对Defects4j数据集的实验,发现分别可以完全正确修复19个错误与46个错误,与未使用修复模式相比分别提高了18个与45个。对于理想状态下的修复,研究了本文的10类修复模式修复的绝对性能,以及错误定位方法对于本文方法的影响。而使用本文的随机方法将真实状态下的完全正确的修复结果提高至25个,并研究了此随机方法的有效性与存在的问题,并与基于深度学习的方法进行对比分析得出了两类方法在修复能力上具有互补性的结论。
其他文献
<正>思想政治理论课(以下简称思政课)作为落实立德树人这一根本任务的关键课程,是用党的创新理论培根铸魂、启智润心的主渠道和主阵地,在培养社会主义建设者和接班人的过程中发挥着不可替代的重要作用。当前思政课已进入到了善用“大思政课”整体实践的育人新格局,要深入学习习近平总书记关于教育的重要论述,结合正在开展的主题教育相关内容,坚持社会主义办学方向,在涵养大情怀、建设大阵地、构建大师资上下功夫,用好用活
期刊
近年来,随着预训练模型的广泛应用,人机对话技术的研究取得令人振奋的进展。但是,目前的人机对话系统大多聚焦于人机双方参与的应用场景,对于更具有通用性的人机多方对话的研究及应用则鲜有涉及。在多方对话中,多个参与者在交流中所扮演的讲者及听众的角色不断并行交替,极大增加的对话关系结构的复杂程度。由于角色和结构的多样性差异,传统的人机双方对话模型缺少相应的建模策略,因此往往很难直接迁移到多方对话场景。本课题
学位
图像去噪是一项基础且重要的任务,常用于从美学角度提升图像的视觉质量,同时也有助于改善下游任务的效果。在当前阶段,得益于深度神经网络的强大拟合能力,通常会训练单一模型来处理不同噪声水平甚至不同类型的真实图像噪声。然而,由于深度网络主要通过拟合训练数据来实现对各种图像噪声的去除,当模型被应用于训练集中未涉及的噪声水平或噪声类型时,去噪性能通常会显著下降。同时,现有的方法对于图像中的高频纹理信息没有过多
学位
标题党新闻是人们生活中常见的一种低质资讯,标题党新闻过多地充斥会影响人们阅读新闻的主动性,压缩优质内容生产者的生存空间,也对新闻本身强调的真实性和可靠性有所影响,如果不对标题党新闻加以限制,未来将会成为谣言和虚假新闻的温床。本文针对标题党新闻泛滥的现象,就标题党新闻检测方法进行了探索。意在研究出一种面向真实新闻能够有效识别出新闻是否是标题党新闻的算法。通过比较国内外对于标题党新闻整治所采用的方法,
学位
心血管疾病已成为全球人口死亡主要原因之一,严重影响着人类健康和社会发展。有效的预防、检测及治疗可显著地降低心血管疾病的死亡率。而血管内光学相干断层扫描技术(Intravascular Optical Coherence Tomography,IVOCT)作为现今前沿的血管成像技术之一,由于相比于其他成像技术,对血管组织的成像具有分辨率高等特点,从而在临床中得到广泛应用。然而,在成像过程中牵引探头的
学位
随着深度学习技术的不断发展,并且深度学习也成功应用于单智能体强化学习中,多智能体协同强化学习也在这个浪潮中得到了非常广泛的发展和应用。多智能体协同算法的主要目的是通过智能体群环境的不断交互,寻找到一个获取总体目标最大价值的最佳策略。强化学习在训练过程中通过不断和环境交互的方式进行收集经验,并根据这些经验进行学习。这些经验数据一般需要与环境进行大量的交互,这些对智能体的训练都带来了严峻的挑战。加速这
学位
动态目标追逃问题是一类主要受军事需求牵引而提出的问题,尤其在搜潜反潜、飞机拦截、卫星发射等军事细分领域得到了非常广泛应用。当前针对动态目标进行高效搜索追逃,国内外研究人员提出了微分博弈、经验方法等多种方法加以解决。但是当前研究对信息缺失条件下的动态目标搜索追踪策略研究不够充分,对各种搜索追踪策略缺乏一定的综合分析,尚未整合各类动态目标的搜索追踪策略,没有形成一套行之有效、可在实践中实际使用的操作集
学位
随着服务计算的发展,海量的服务互联互通形成了复杂的服务网络,海量的服务资源在给我们的生产生活带来遍历的同时也变得更加难以管理。知识图谱的结构与复杂网络十分契合,构建服务知识图谱管理海量的服务资源成为一种选择。服务知识图谱在构建过程中需要使用到很多自动化技术,如命名实体识别技术、关系抽取技术、模式匹配,知识图谱自动化构建技术在提高知识图谱构建效率、减小构建知识图谱的代价的同时,也不可避免地引入了很多
学位
理解自然语言是人工智领域面临的一项艰巨挑战,近年来热门的机器阅读理解(Machine Reading Comprehension,MRC)任务以“问-答”的形式检测模型对自然语言的理解能力。尽管各类模型在多个数据集上的性能已经超越人类表现,但是与真实场景的应用还有一定差距。针对中文机器阅读理解任务的数据和模型,本文主要研究内容如下:1)提出一种中文机器阅读理解问答对数据生成方法。机器阅读理解任务的
学位
时序动作提名生成,输入是一段未分割的长视频,根据其内容来定位动作片段,包括其开始时间、结束时间和动作类别,可应用于视频推荐,智能安防,智慧广电等场景。现有的时序动作提名生成算法已取得了瞩目的成绩,但仍难以满足现实场景中的应用,因此是当前计算机视觉领域的热点研究问题之一。具体的说,目前的方法大多致力于生成灵活的动作边界与高质量的置信度,但是仍然受限于匮乏的视频时序依赖和动作边界建模,导致了充满噪声的
学位