复用含噪音补丁对程序自动修复影响研究

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:hanyanwei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
作为智力密集型产品,软件开发过程中不可避免地会出现软件缺陷。为了定位、修复软件缺陷,维持系统正常运行,软件调试与维护活动几乎持续贯穿了软件的整个生命周期,但这付出了巨大的时间、人力成本。为此,研究人员开发出了各种程序自动化修复软件缺陷的原型工具,旨在通过计算机将缺陷定位、补丁生成和补丁验证过程自动化执行,从而降低维护成本。经过数十年的发展,开源软件在软件工程领域扮演着越来越重要的角色。源源不断新设立的开源软件项目以及持续迭代的软件版本历史为深入研究软件工程本质性规律提供了广泛的数据来源,也为相关基于开源软件的研究提供了丰富的知识储备。复用补丁的程序自动修复便是将程序自动修复和软件资源挖掘联系起来的典型例子。它通过挖掘开源软件社区广泛存在的补丁知识来指导程序自动修复工具产生正确的修复结果。但是,由于开源社区补丁存在冗余、不完整等噪音,这些噪音对修复结果是否产生影响成为本研究的主要问题。本文首先归纳分析了当前复用补丁的程序自动修复技术,主要分为两类:在补丁生成阶段复用补丁和补丁验证阶段复用补丁。然后,针对开源软件社区的冗余补丁噪音,实地考察其在多个项目中的存在情况,并采用剔除和添加随机冗余补丁两种策略考察修复工具在复用含冗余补丁时的修复结果。同时,针对开源社区的不完整补丁,通过拆分复杂补丁的方式来模拟。两种补丁噪音的实验结果表明:1)冗余补丁作为软件版本库的一种噪音在不同软件历史上均存在;2)冗余补丁对程序自动修复工具Prophet影响不显著。3)拆分的补丁块在一定程度上可以指导候选补丁排序,但也会降低Prophet工具修复效果。文章最后提出一种扩充补丁学习知识的方法,将复杂补丁知识通过拆分方式纳入到学习范畴,在同样的缺陷库上考察了扩充补丁学习知识后的修复结果并留下开放性问题,供后续研究者继续探究。
其他文献
蛋白质翻译后修饰作为发生于RNA翻译后的一种共价加工过程,是一种调控蛋白质功能的重要机制,几乎参与了生物细胞内所有的正常生命活动。因此深入研究翻译后修饰对于理解蛋白
随着我国科技的进步以及“中国制造2025”的不断推进,现代工业系统的规模也日趋增大,自动化程度也越来越高。相应地,人们对工业系统运行过程中的安全性和生产质量的要求也越
气动柔性机械臂是一种基于仿生学原理,由柔性材料构成的气压驱动型软体机械臂,具有高柔顺性、强适应性并能够进行柔顺抓捕等优点,在生产、医疗、救灾及探测等方面具有广阔应
2019年底北斗卫星导航定位系统的基本组网卫星已经发完并正式向全球提供基本导航服务。可以预见在未来一段时间内BDS-2与BDS-3卫星将会共存。BDS-2与BDS-3卫星星座结构相同,
随着社会的进步,医疗保险制度逐步成为人民生活保障体系的重要组成部分。按服务项目收费的支付方式,容易带来医疗费用不合理增长,推行单病种付费的医疗保险支付方式,不仅可以
制导系统与控制系统是导弹最为核心的架构,其直接决定着导弹的性能。随着导弹技术的发展,对制导精度提出了更高的要求。制导控制一体化技术将导弹的制导系统与控制系统视为一
在信息技术高速发展的现代,随着纳米光子学的发展,人们希望在微纳量级上能可控制备出具有特定分子结构和功能的光子学元件,从而实现集成光路。与无机材料相比,有机材料具有优
在当今各国合作共建的时代背景下,中蒙两国作为睦邻友好的邻国,将新蒙文做一个有效的电脑录入以及字符识别,能有利于两国之间和地区之间的经济、社会、文化发展,也能促进两国
光学隐身斗篷是一种基于变换光学理论的新型人工超材料器件。人们通过改变材料的电磁参数,使光线在材料中绕开物体传播,从而实现对物体的隐身,这种材料也被称为变换介质。随
位姿估计是计算机视觉和摄像测量学中的基础性问题,常用于视觉伺服、SLAM等领域。针对舰载机刚体目标的位姿估计和跟踪问题,本文分别对使用几何测量和深度学习的方法进行探讨