基于“生成—检验”框架的软件代码错误自动修复技术研究

来源 :清华大学 | 被引量 : 0次 | 上传用户:yuhosun
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
错误修复耗时耗力,且在软件开发过程中不可避免,因此研究代码错误自动修复技术对提高软件开发效率具有重要意义。近年来基于“生成-检验”框架的自动修复技术得到了研究界的广泛关注。“生成-检验”系统以程序源代码和测试集为输入,生成可能的代码修改方案,使得修改后程序能够通过测试集。现有系统在公开测试集上的实验效果表明“生成-检验”系统具有修复代码错误的能力,但在执行效率、修复正确率上仍有较大优化空间。基于此,本文提出在系统模块优化(错误定位、搜索引擎)与框架扩展两个方面对基于“生成-检验”框架的代码错误自动修复技术展开研究,提高系统的执行效率和修复正确率。本文的主要工作有:·针对错误定位模块,本文首次提出测试期望错误对SFL算法定位精度产生负面影响这一问题,并给出实验数据支持。在此基础上,本文提出一种测试期望纠错算法,通过计算测试用例执行路径之间的相似度找出不合理的测试期望判断结果,即识别测试期望对测试结果的错误判断并将其修复。实验表明,使用纠错后的测试期望能够使SFL定位精度明显提高。·针对搜索引擎模块,本文提出一种“预过滤”算法,针对与表达式修改、替换相关的修复方案,该算法能够在检验器检验前滤除不可能成功的修复方案,减少检验器检验的工作量,从而压缩搜索空间,提高搜索效率。实验表明,“预过滤”算法能够使搜索空间压缩到过滤前的10%左右,在某些复杂程序中搜索空间的压缩比例甚至小于1%。·针对“生成-检验”框架,本文提出两种扩展方案。其一是“交互式调试”,目的是使系统利用开发人员对程序运行状态的判断提高系统错误定位精度,从而提高运行效率。实验表明,交互式系统能够加速开发人员的调试过程。其二是“融合针对特定类型错误修复算法的可扩展框架”,目的是利用其他技术路线的优势增强系统修复能力。本文给出了可扩展框架的实现方案,并以空指针异常修复算法为例在框架中完成二次开发。实验表明,系统能够完成空指针异常修复功能,框架扩展方案具有可行性。
其他文献
目的:研究涎腺肿瘤的彩色多普勒超声影像表现、以及病理分级、分型与IGF-1蛋白表达的相关性,探讨IGF-1蛋白联合彩色多普勒影像对涎腺肿瘤的评估价值。方法:选取125例经病理证
自人类文明开始出现至今,造型艺术皆体现了它创造的演进历史进程。作为一种占有一定立体空间的造型,陶瓷器皿最基本构成要素亦莫过于点、线、面、体和空间,其造型上的形体衔
针对汽油精炼废水中C/N低的特点,研究了鸟粪石沉淀法对后续生化工艺的影响。实验选择硫酸镁和磷酸二氢钾作为沉淀剂,比较了不同pH值和硫化物浓度下氨氮的去除率。实验表明,在pH值
<正> 苏共中央马克思列宁主义研究院是原苏共的最高科研机关。它是根据俄共(布)中央的决议于1921年1月成立的,当时称马克思恩格斯研究院,已有70多年历史。马列主义研究院的主
本文根据集体行为理论和西方对社会运动现象的研究结果,探讨了中国当前群体性事件的基本生成机制和演化逻辑,分析了群体性事件治理的几个关键要素,并进而提出了针对不同演化
长期以来,高中作文远离生活,脱离现实,使越来越多的高中生作文文思枯竭,没有内容。如何引导学生以课堂教学为轴心向生活领域拓展成为本文研究的现实基础。"回归社会,汲取营养"
对银行商业化经营量本利分析的初步思考●王天民冯焕军银行商业化经营以实现利润最大化为目标,而经营利润主要受存款量及其成本和存款资金运用收入三项要素的影响(在当前形势下
采用恰当的教学方法是增强思想政治理论课教学针对性、实效性的关键。在思想政治理论课诸多教学方法中,研讨式教学就是一种容易操作、效果不错的教学方法。它是更适合大学课
目的评价恙虫病合并神经精神症状的临床特点,从而降低恙虫病的误诊率、漏诊率以及病死率。方法对该院收治的50例恙虫病患者的临床资料进行回顾分析。结果恙虫病患者存在发热,
四川省新闻出版局于1996年5月15日至17日在成都金牛宾馆主持召开全省报刊质量工作会议。这是四川省近年来第一次召开的专门研究报刊质量问题的会议,中共四川省委、省政府领导