软件自动修复关键技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:skyliou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件错误自动修复是推进软件维护自动化,提高软件质量和可信性的重要手段。尽管人们已经提出了多种支持软件自动修复的方法和技术,然而现有研究表明,当前自动修复技术在修复能力及效率方面仍具有局限性。本文一体化研究软件错误自动修复体系,针对错误定位、补丁生成以及补丁验证三个阶段,研究面向自动修复的错误定位方法、基于随机搜索的补丁生成算法、以及补丁有效性验证性能优化技术。基于上述研究,提出了一系列提高软件修复能力和修复效率的优化技术,通过大型开源软件真实历史错误进行修复试验,依据科学统计和度量方法验证了这些优化技术的效能。论文的主要研究工作及创新点如下:1)从自动修复的角度研究错误定位技术,并建立了相应的错误定位技术评估体系作为软件自动修复技术的前端,错误定位技术用于定位引起软件失效的可疑代码位置,位置信息的准确性直接影响软件自动修复的效果。但是,目前的错误定位技术是基于开发人员开发的,本文通过实验表明,基于开发人员角度具有较好定位效果的定位技术并没有更好地辅助自动修复过程;另外,虽然错误定位技术的研究已超过30年,但是目前大部分开发人员在调试程序中并没有习惯于使用错误定位技术,而是仍继续沿用传统的调试技术,例如断点调试,使得错误定位技术的应用价值受到了质疑。而软件自动修复技术的兴起,则为错误定位技术提供了实际的应用平台。在此背景下,本文提出从自动修复角度开发错误定位技术,并建立了相应的错误定位技术评估体系。根据该评估体系,本文通过实验评估了当前流行的多种错位定位技术基于自动修复角度的定位精度,并根据实验结果提出了未来从自动修复角度开发错误定位技术的发展方向。2)构造基于随机搜索的软件自动修复方法本文使用最简单的随机搜索算法实现了一种软件自动修复方法。作为目前自动修复领域的奠定性成果之一,Gen Prog主要的贡献有两点:高效的变异(修复)规则和利用遗传编程思想指导补丁进化。虽然通过实验,Gen Prog展示出其非常出色的修复效果,但是目前的研究并未回答Gen Prog的修复效果是得益于其高效的变异规则,还是得益于其使用的遗传编程算法的高效指导能力。本文通过使用与Gen Prog相同的变异规则,利用随机算法而不是相对更智能的遗传编程算法,实现了基于随机搜索的软件自动修复原型工具。实验表明,Gen Prog所使用的遗传编程算法并没有比纯随机算法更好地指导补丁进化过程。论文分析了导致遗传算法失效的根本原因,并据此提出,在基于搜索的软件工程领域,针对每一种新的优化算法的应用,需要通过与纯随机算法进行对比以检验该优化算法的有效性。3)提出弱重编译技术针对补丁验证阶段重编译过程中存在的编译冗余现象,本文提出弱重编译技术以减少传统重编译过程中的编译冗余,降低重编译时间,进而提高修复效率。在重编译过程中,弱重编译技术仅仅重新编译由于补丁更新而被修改的代码部分,并没有重新生成或修改原始可执行程序;借助动态链接和插装工具,弱重编译实现了候选补丁的运行时动态更新。实验表明,相对于传统的重编译技术,论文提出的弱编译技术能大大降低重编译时间开销,提高软件修复效率。4)提出一种基于错误记录的测试用例排序技术针对补丁验证阶段回归测试过程中的测试用例执行,本文提出一种基于错误记录的测试用例排序技术(FRTP)。不同于传统的测试用例排序技术在排序前经常需要大量的计算资源用以收集关于测试用例集的相关执行信息,FRTP在软件自动修复启动之前并不需要收集任何排序信息,而是在修复过程中迭代地提取关于测试用例的无效补丁识别信息,并根据提取的信息动态地调整后续的测试用例执行顺序。由于从修复过程中提取信息需要的计算资源非常少几乎可以忽略,FRTP具有非常高的排序效率。实验证明,FRTP技术能有效地减少补丁验证所需测试用例执行数,提高软件修复效率。
其他文献
人物画在陶瓷装饰中占有重要的位置,迄今发现的最古半坡的彩陶。民间青花,以及许多珍贵的陶瓷器皿上,使我们能够从中看到许多古代的功臣、武将、文人、学士、平民等各种人物栩栩
目的 探讨Nucleolin蛋白在结肠癌组织中的表达及其临床病理学意义。方法 选取2010年1月至2015年8月结肠癌病理组织标本70例(结肠癌组)和本院病理科既往收集的20例正常结肠组织(
受地面和油藏条件限制,板桥油田的注水井以深斜井为主,近年来通过与油田研究院结合,自主创新,积极引进,先后试验了桥式同心分注、智能分注等技术,实现了深斜井分注技术的逐步
构建出口贸易变化的LMDI物流业增加值总量分解模型,选取2004年~2016年"一带一路"核心地区物流业增加值和出口贸易额相关数据,将出口贸易影响物流业总量变动的总效应分解为出口
民国时期的女性,在激荡的社会变革中,冲破旧礼教的束缚,走出了家门,开始得到多方面的艺术交流的机会,使得才华得以发展,并且通过参与各种展览会和书画会组织,以独立的姿态进
随着网络技术和多媒体技术的广泛应用和快速发展,数字图像变得容易获取、传输和修改。数字图像的安全引起了科学和工程人员越来越多的关注。对于敏感信息(尤其是军事布防图纸
馒头老化是制约馒头工业化进程的一个关键问题。本实验使用质构仪测定馒头的质构从而表征酶对于馒头老化进程的影响。
近年来,随着社会媒体网站的兴起,越来越多的用户参与到其中。社会媒体已经成为用户日常生活中必不可少的一部分。在目前以互联网为导向的大环境中,对社会媒体中与用户相关的
印度象是伸腿侧睡的,和猪的睡姿差不多.先曲下前腿,再曲后腿,然后慢慢地躺下,贴脸侧卧,四肢长伸;要是它站着睡觉的话,那就证明它身体不适.相反,非洲象始终是站着睡的,它只要