[发明专利]一种新的动态反馈和改进型补丁评价的软件自动修复方法有效
| 申请号: | 201910973884.1 | 申请日: | 2019-10-14 |
| 公开(公告)号: | CN110879778B | 公开(公告)日: | 2023-09-26 |
| 发明(设计)人: | 方景龙;石宇;陈滨;魏丹;王兴起 | 申请(专利权)人: | 杭州电子科技大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57;G06N3/126 |
| 代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
| 地址: | 310018 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 反馈 改进型 补丁 评价 软件 自动 修复 方法 | ||
本发明公开了一种新的动态反馈和改进型补丁评价的软件自动修复方法,本发明具体涉及运用云模型的对候选补丁建模,实现对常规补丁样本的量化分析,将种群整体角度参数引进到适应度评价中,运用模型参数增强适应度评价函数对所生成补丁的表达能力,影响遗传算法对候选补丁筛选时的结果,指导下一代补丁生成。并运用动态反馈调整策略,根据父代与子代的所有补丁的适应度差异,调整云模型中的超熵与遗传算法中的变异率,动态选择随机游走或一维更新修复策略,从而提高软件缺陷修复成功率的修复方法。
技术领域
本发明属于软件工程的自动化软件修复领域,具体涉及运用云模型的对候选补丁建模,运用模型参数增强适应度评价函数对所生成补丁的表达能力,影响遗传算法对候选补丁筛选时的结果,指导下一代补丁生成。并运用动态反馈调整策略,根据父代与子代的所有补丁的适应度差异,调整云模型中的超熵与遗传算法中的变异率,从而提高软件缺陷修复成功率的修复方法。
背景技术
软件缺陷修复是软件开发过程中最为耗时和繁琐的步骤。软件缺陷修复是一个不断重复修改,验证两个步骤的迭代过程,代码的修改可能引发新缺陷的产生。近些年研究者在软件自动化修复领域开展大量研究工作,希望在减少人工干预的前提下,通过高效的算法实现对缺陷代码的自动识别,针对缺陷程序生成相对应的补丁,从而实现软件缺陷的自动修复。
软件缺陷修复通常分为两个步骤:补丁生成和验证。首先使用缺陷定位技术,定位可能包含程序错误的潜在可疑语句,并对这些可疑语句进行排序;然后按照排序结果对可疑语句进行加工,例如通过语句删除,添加和替换等预先定义的操作来自动生成补丁;最后通过运行测试用例来检验每个生成的补丁,如果测试用例能全部通过,则表明修复成功,该补丁为有效补丁,否则如果运行测试用例过程超时或达到最大迭代次数,则代表修复失败。
云模型是处理定性概念与定量描述的不确定转换模型。其输入为表示定性概念的期望值Ex、熵En和超熵He。期望是在数域空间中最能够代表这个定性概念的点,反映云的重心位置。熵作为统计热力学的概念,度量物理系统的无组织度。在云模型中,熵被用来衡量定性概念的模糊度与概率,揭示模糊性与随机性的关联性。熵一方面反映了在数域空间中可被语言值接受的范围,即模糊度,另一方面还反映了数域空间能够代表这个语言值的概率,表示云滴出现的随机性。超熵是熵的不确定性的度量,即熵的熵,反映了在数域空间代表该语言值的所有点的不确定度的凝聚性,即云滴的凝聚度。
发明内容
本发明的目的在于克服现有适应度评价函数区分能力较弱,以及无法调整补丁质量的问题,提出一种新的动态反馈和改进型补丁评价的软件自动修复方法。
首先,本发明引入云模型增强对补丁的分析,提出使用云模型对生成的候选补丁建模,从而实现对常规补丁样本进行量化分析,将种群整体角度参数引进到适应度评价中,增强种群补丁的适应度评价函数,实现现有方法对相似适应度评的补丁做更为精细的评价。
其次,通过比较当前候选补丁集与上代在适应度上的变化,构建反馈链,调整云模型的超熵与遗传算法的变异率。通过调整云模型超熵,进而调整相似补丁适应度差异;通过调整遗传算法的变异率,调整生成补丁的多样性。根据反馈信息,设计了两种反馈策略:随机游走和一维更新。随机游走策略增大超熵与变异率,提高所产生补丁的多样性;一维更新策略减小超熵与变异率,减小所产生补丁的多样性,使进化趋势保持稳定,在当前探索方向下深入探索。发明规定,在当前补丁集较上一代补丁集在适应度上有提升时,维持当前已经采用的策略,反之,当前补丁集较上一代补丁集在适应度上有下降时,更换使用另一种策略。以上反馈策略是根据补丁集整体适应度做出的反应,适应度的提升表明当前策略下,得到的补丁质量有所提高,因此继续保持;适应度的下降表明,当前策略不适合该缺陷程序的探索模式,因此需要改变。本发明相对于现有技术具有的效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910973884.1/2.html,转载请声明来源钻瓜专利网。





