当前位置:主页 > 科技论文 > 软件论文 >

基于搜索的软件自动修复关键技术

发布时间:2019-02-23 14:12
【摘要】:软件修复是软件工程的核心问题,是软件测试和维护中耗费成本最多的活动,软件如果能够自动修复,无疑将大幅降低人力和资源的投入,提高软件的质量,从而增强其市场竞争力。尽管人们已经提出了多种支持软件自动修复的方法和技术,然而已有的研究结果表明,当前自动修复技术还处于初级阶段,自动修复的效率和能力有待提高。本文将基于搜索的软件工程应用于软件自动修复中,结合已有的软件测试、维护技术,提出软件自动修复框架,并研究其中的关键技术,解决缺陷定位、选择性测试、自动程序修复,以及回归测试问题,并依据这些问题的领域知识,给出基于搜索的求解方法。取得的主要研究成果如下:(1)针对不同开发方式且具有一定规模软件的缺陷定位问题,以含开源代码软件为研究对象,提出一种变粒度缺陷定位技术。该技术定位缺陷时,先基于程序的结构信息构造粗粒度语句块,并利用语句块的执行关系划分程序为若干语句块等价类;然后,基于语句块等价类的怀疑度,得到最有可能存在缺陷的语句块等价类;最后,基于语句块的怀疑度,从上述等价类中,选择最有可能包含缺陷的语句块。所提方法的好处是,减少了需要检查的语句块数量,从而提高了缺陷定位的效率,增强了缺陷定位的适用性。(2)针对选择性测试问题,给出用于回归测试集生成的路径选择新方法。在以分支覆盖作为覆盖准则的前提下,首先,以若干路径形成的集合作为决策变量,以路径最少、覆盖的分支最多,以及包含的未覆盖路径最少为目标,建立路径选择问题的3目标优化模型;然后,采用遗传算法求解上述模型时,设计了基于目标重要性的个体评价策略;最后,基于已有的测试数据与选择的路径之间的覆盖关系,确定需要生成的测试数据。采用该方法选择的路径,能够充分利用已有测试信息,可以覆盖更多的分支,需要生成的测试数据更少,选择性测试消耗的时间更短。(3)针对程序的自动修复问题,构造多阶段多目标的优化模型,并给出基于改进遗传规划生成有效补丁的方法。为此,利用缺陷定位的结果,分解程序修复为若干疑有缺陷的程序实体的修复过程,并通过提出的一致度测度以及约束函数,建立每一阶段修复子问题的带约束多目标优化模型;然后,在已有的补丁生成方法的基础上,利用提出的个体评价策略指导遗传规划进化过程,并减少被选测试用例的执行次数,降低对源程序的执行成本。该方法有效的提升了程序修复的效率,提高了获得正确补丁的概率。(4)针对回归测试问题,基于路径相关性,提出求解回归测试数据生成问题的新方法,以高效的进化生成可用于回归测试的测试数据集。该方法根据路径与节点的相关矩阵,首先进行目标路径排序,并基于路径相关性,建立新的覆盖影响路径的回归测试数据生成问题的数学模型;其次,结合遗传算法对上述模型求解时,利用穿越已有目标路径的测试数据,编码后取代进化种群的部分个体。所提方法能够充分利用已有的测试信息,有效提高进化生成测试数据的效率。本论文所做的工作为软件自动修复提供了新的思路,丰富了基于搜索的软件工程理论,提高了软件自动修复的效率和能力,保证了软件的质量,增强了软件的可信度,具有重要的理论意义和实际应用价值。
[Abstract]:......
【学位授予单位】:中国矿业大学
【学位级别】:博士
【学位授予年份】:2017
【分类号】:TP311.5

【相似文献】

相关期刊论文 前10条

1 陈小康;许畅;江磊;;非一致上下文的自动修复技术[J];计算机科学与探索;2013年04期

2 丁志芳;徐孟春;费勤福;武东英;;在网络流量中搜索恶意输入并自动修复验证[J];计算机工程与设计;2013年12期

3 孙国强;;雷达故障自动修复设计[J];火控雷达技术;2013年04期

4 单飞;;BIOS自动修复功能的研究与实现[J];中国新通信;2010年17期

5 罗会兰;李静;王威;;盲环境下数字图像的自动修复算法研究[J];计算机应用研究;2010年11期

6 郭忠文;邵泽武;;FORMAT.COM源程序分析及其在软硬盘自动修复和反系统病毒技术中的应用[J];微型机与应用;1992年06期

7 纪涛;齐玉华;毛晓光;;基于软件自动修复评估缺陷定位技术的工具:GenProg-FL[J];计算机科学;2014年09期

8 陈昊;;浅析计算机软件可维护性方法[J];电子制作;2013年19期

9 岳继武;;计算机软件可维护性方法的探讨[J];科技致富向导;2013年15期

10 王超,梁义芝,张新建;软件可维护性的一种定量计算方法[J];情报指挥控制系统与仿真技术;2004年01期

相关会议论文 前10条

1 顾秀君;;舰船中软件保障的研究[A];中国造船工程学会修船技术学术委员会船舶维修理论与应用论文集第七集(2004年度)[C];2004年

2 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年

3 李磊;曹先彬;;基于进化的软件测试用例生成方法[A];2005年“数字安徽”博士科技论坛论文集[C];2005年

4 徐李勤;王洁宁;;基于层次有色Petri网的软件测试用例选取研究[A];全国第二届信号处理与应用学术会议专刊[C];2008年

5 林春哲;张凯;王道堂;;软件测试用例设计分析[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年

6 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年

7 张德平;聂长海;徐宝文;;划分测试用例选择策略研究[A];第五届中国测试学术会议论文集[C];2008年

8 蒋曹清;张大方;缪力;;一种回归测试后的错误定位方法[A];第三届中国测试学术会议论文集[C];2004年

9 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];中国计量协会冶金分会2008年会论文集[C];2008年

10 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];2008全国第十三届自动化应用技术学术交流会论文集[C];2008年

相关博士学位论文 前10条

1 吴川;基于搜索的软件自动修复关键技术[D];中国矿业大学;2017年

2 齐玉华;软件自动修复关键技术研究[D];国防科学技术大学;2013年

3 罗玲;扩展π演算的建模、验证与测试[D];西安电子科技大学;2015年

4 王志强;基于模糊测试的漏洞挖掘及相关攻防技术研究[D];西安电子科技大学;2015年

5 涂径玄;基于覆盖分析的自动化错误定位关键技术研究[D];南京大学;2016年

6 苏亭;基于覆盖准则的软件测试用例自动化生成方法的研究与实现[D];华东师范大学;2016年

7 张功杰;基于集合进化与占优关系的变异测试用例生成[D];中国矿业大学;2017年

8 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年

9 黄如兵;组合测试用例的自适应随机生成与优先级排序方法研究[D];华中科技大学;2013年

10 张娟;软件测试中测试用例复用的研究[D];上海大学;2012年

相关硕士学位论文 前10条

1 赵晓彬;回归测试的测试用例优先级排序问题研究[D];天津大学;2016年

2 傅颖;基于主题建模的软件可维护性评估模型研究[D];重庆大学;2016年

3 卢遥;基于类图的软件可维护性评估[D];国防科学技术大学;2014年

4 殷翔;基于源代码的软件可维护性度量系统的研究与实现[D];重庆大学;2014年

5 田春艳;基于灰色关联逼近理想解方法的测试用例评价模型研究[D];昆明理工大学;2009年

6 唐海鹏;基于Additional策略回归测试用例优先级排序优化研究[D];西南大学;2015年

7 陈梦云;基于圈复杂度和调用次数的测试用例排序方法[D];上海师范大学;2015年

8 姚瑞超;广东电网测试用例自动生成工具的研究与设计[D];华南理工大学;2015年

9 张泽林;基于数据挖掘的软件多故障定位与分析技术[D];南京理工大学;2015年

10 邹炳松;嵌入式软件的图形化测试用例生成系统设计与实现[D];哈尔滨工业大学;2015年



本文编号:2428909

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2428909.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户90b65***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com