收藏本站
《清华大学》 2017年
收藏 | 手机打开
二维码
手机客户端打开本文

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

郭心睿  
【摘要】:错误修复耗时耗力,且在软件开发过程中不可避免,因此研究代码错误自动修复技术对提高软件开发效率具有重要意义。近年来基于“生成-检验”框架的自动修复技术得到了研究界的广泛关注。“生成-检验”系统以程序源代码和测试集为输入,生成可能的代码修改方案,使得修改后程序能够通过测试集。现有系统在公开测试集上的实验效果表明“生成-检验”系统具有修复代码错误的能力,但在执行效率、修复正确率上仍有较大优化空间。基于此,本文提出在系统模块优化(错误定位、搜索引擎)与框架扩展两个方面对基于“生成-检验”框架的代码错误自动修复技术展开研究,提高系统的执行效率和修复正确率。本文的主要工作有:·针对错误定位模块,本文首次提出测试期望错误对SFL算法定位精度产生负面影响这一问题,并给出实验数据支持。在此基础上,本文提出一种测试期望纠错算法,通过计算测试用例执行路径之间的相似度找出不合理的测试期望判断结果,即识别测试期望对测试结果的错误判断并将其修复。实验表明,使用纠错后的测试期望能够使SFL定位精度明显提高。·针对搜索引擎模块,本文提出一种“预过滤”算法,针对与表达式修改、替换相关的修复方案,该算法能够在检验器检验前滤除不可能成功的修复方案,减少检验器检验的工作量,从而压缩搜索空间,提高搜索效率。实验表明,“预过滤”算法能够使搜索空间压缩到过滤前的10%左右,在某些复杂程序中搜索空间的压缩比例甚至小于1%。·针对“生成-检验”框架,本文提出两种扩展方案。其一是“交互式调试”,目的是使系统利用开发人员对程序运行状态的判断提高系统错误定位精度,从而提高运行效率。实验表明,交互式系统能够加速开发人员的调试过程。其二是“融合针对特定类型错误修复算法的可扩展框架”,目的是利用其他技术路线的优势增强系统修复能力。本文给出了可扩展框架的实现方案,并以空指针异常修复算法为例在框架中完成二次开发。实验表明,系统能够完成空指针异常修复功能,框架扩展方案具有可行性。
【学位授予单位】:清华大学
【学位级别】:博士
【学位授予年份】:2017
【分类号】:TP311.5

手机知网App
【相似文献】
中国期刊全文数据库 前10条
1 叶素梅;肖寒;;基于测试用例库的复用方法研究[J];电脑知识与技术;2018年32期
2 王曙燕;陈朋媛;孙家泽;;基于变异分析的测试用例约简方法[J];计算机应用;2017年12期
3 杨军;卢彩霞;黄辰;王婷;;测试用例复用在电子采购交易平台中的应用[J];计算机与数字工程;2018年01期
4 程雪梅;翟宇鹏;;测试用例修复的方法与工具综述[J];现代计算机(专业版);2017年02期
5 赵鹤;高婉玲;;基于模型的软件测试用例生成方法比较研究[J];现代计算机(专业版);2017年04期
6 曾嘉彦;;符号执行技术在测试用例生成中的应用[J];现代计算机(专业版);2017年04期
7 张功杰;谢春丽;;面向测试用例生成的集合进化算法实现[J];牡丹江师范学院学报(自然科学版);2017年02期
8 魏长安;王钢;盛云龙;张永卓;;组合测试用例自动生成软件设计[J];自动化技术与应用;2017年05期
9 臧丽娜;;基于死锁的并发类单元测试用例自动生成[J];计算机应用与软件;2017年04期
10 杨芳;丁晓明;;多目标测试用例优先级排序研究进展[J];重庆工商大学学报(自然科学版);2017年03期
中国重要会议论文全文数据库 前10条
1 周晓燕;李兵;潘伟丰;覃叶宜;;基于错误传播概率网络的软件回归测试用例选择[A];第五届全国复杂网络学术会议论文(摘要)汇集[C];2009年
2 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
3 林春哲;张凯;王道堂;;软件测试用例设计分析[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
4 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
5 张德平;聂长海;徐宝文;;划分测试用例选择策略研究[A];第五届中国测试学术会议论文集[C];2008年
6 王斌;;软件测试用例相关问题探讨[A];中国原子能科学研究院年报 2013[C];2014年
7 周瑞杰;江国华;;基于遗传算法的面向对象类测试用例生成研究[A];2010通信理论与技术新发展——第十五届全国青年通信学术会议论文集(下册)[C];2010年
8 邱程;邬小鲁;何聪;范志容;李凯;;基于黑盒测试的车载影音娱乐系统测试用例设计方法[A];2016中国汽车工程学会年会论文集[C];2016年
9 章靠;丁佐华;;基于事件图的并发软件测试[A];第四届中国软件工程大会论文集[C];2007年
10 王新光;万定生;张希伟;;浅谈程序设计语言教学中工程能力的培养[A];2005全国计算机程序设计类课程教学研讨会论文集[C];2005年
中国重要报纸全文数据库 前10条
1 本报记者 王欣;5G要这么测[N];通信产业报;2017年
2 罗德与施瓦茨(中国)科技有限公司;R&S公司:集成化NB-IoT测试方案[N];通信产业报;2017年
3 特约撰稿 张勇;基于需求的测试:确保需求与软件的统一[N];计算机世界;2011年
4 计算机世界实验室 韩勖;拨云见日[N];计算机世界;2008年
5 ;找错[N];计算机世界;2002年
6 信息产业部软件与集成电路促进中心 于明唐仕武;驶入测试“快车道”[N];计算机世界;2007年
7 谢敏 沈雪芳 戴金龙;解决软件测试的近忧和远虑[N];计算机世界;2005年
8 刘昶;WiMAX射频测试期待一致性解决方案[N];中国电子报;2007年
9 罗德与施瓦茨中国有限公司 刘昶;用规范化“通畅”PoC测试[N];通信产业报;2006年
10 罗德与施瓦茨中国有限公司产品支持部;R&S:实现端到端LTE测试[N];通信产业报;2013年
中国博士学位论文全文数据库 前10条
1 刘勇;基于变异的错误定位优化技术研究[D];北京化工大学;2018年
2 王静;有效载荷系统测试用例智能规划方法研究[D];中国科学院大学(中国科学院国家空间科学中心);2018年
3 郭心睿;基于“生成—检验”框架的软件代码错误自动修复技术研究[D];清华大学;2017年
4 张功杰;基于集合进化与占优关系的变异测试用例生成[D];中国矿业大学;2017年
5 张慧;基于测试用例的错误定位技术研究[D];东南大学;2016年
6 张旭舟;面向复杂程序结构的测试用例自动生成方法研究[D];北京邮电大学;2018年
7 刘玲;基于面向对象形式规格说明的测试用例生成技术[D];上海大学;2004年
8 占学德;基于UML statecharts测试方法的研究[D];上海大学;2005年
9 金虎;自动化软件测试技术研究[D];四川大学;2006年
10 李军义;软件测试用例自动生成技术研究[D];湖南大学;2008年
中国硕士学位论文全文数据库 前10条
1 杜畇岐;基于变异技术的测试用例自动生成及优化[D];西南科技大学;2019年
2 张焜;基于频谱的错误定位测试用例优化方法研究[D];中国矿业大学;2019年
3 卞恭喜;基于动态优化的分级多粒度Fuzzing测试漏洞挖掘系统研究与实现[D];江苏大学;2019年
4 宋佳垿;面向移动端测试的测试用例生成方法研究[D];吉林大学;2019年
5 周敏敏;ART中内存选择技术及在面向对象软件测试中的应用研究[D];江苏大学;2019年
6 何海鲜;基于布谷鸟算法的测试用例生成方法研究[D];武汉理工大学;2018年
7 葛晋鹏;物流软件自动化测试用例管理和执行调度的设计与实现[D];北京邮电大学;2019年
8 冯沈峰;回归测试用例优先级排序问题研究[D];上海师范大学;2019年
9 张蕊;基于可行路径的测试用例自动生成方法研究[D];哈尔滨工程大学;2019年
10 郝丽;面向IEC 61131-3 ST语言的自动化测试研究与实现[D];华东师范大学;2019年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026