专利汇可以提供一种新的动态反馈和改进型补丁评价的软件自动修复方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种新的动态反馈和改进型 补丁 评价的 软件 自动修复方法,本发明具体涉及运用 云 模型的对候选补丁建模,实现对常规补丁样本的量化分析,将种群整体 角 度参数引进到适应度评价中,运用模型参数增强适应度评价函数对所生成补丁的表达能 力 ,影响遗传 算法 对候选补丁筛选时的结果,指导下一代补丁生成。并运用动态反馈调整策略,根据父代与子代的所有补丁的适应度差异,调整云模型中的超熵与 遗传算法 中的变异率,动态选择随机游走或一维更新修复策略,从而提高软件 缺陷 修复成功率的修复方法。,下面是一种新的动态反馈和改进型补丁评价的软件自动修复方法专利的具体信息内容。
1.一种新的动态反馈和改进型补丁评价的软件自动修复方法,其特征在于,该方法具体包括以下步骤:
步骤一:输入缺陷程序和测试用例,计算种群中所有个体适应度,将新生种群按平均适应度划分成三个子群:优秀种群,普通种群,不良种群;将缺陷程序表示为抽象语法树并将语法树中的语句对应一组实时维护的权值列表,所述的测试用例至少包含一个辨别程序缺陷的负向测试用例;
将新生种群按平均适应度划分成三个子群,具体为:根据区间理论建立一个评估规范,考虑云模型的双边约束[a,b],给出云参数方程计算方法:假设f(ti)是第t代中个体xi的适应值,则f(avg(t))表示整个群体的平均适应度,并且f(best(t))表示最佳适合度;对于比f(avg(t))更好的适应度的所有个体,获得平均值f(avg1(t));对于比f(avg(t))更差的适应度的所有个体,计算平均值f(avg2(t));其中f(avg1(t))是区间的上边界,f(avg2(t))是区间的下边界;
如果f(ti)大于f(avg1(t)),则表明这些个体是优秀的,它们展现出最有希望的成果,为了最快得到最优解,应该在遗传算法中使其遗传到下一代;如果f(ti)小于f(avg2(t)),则这些个体是表现较差的个体,在遗传算法的的选择阶段优先给予删除;三个子群如下表所示:
步骤二:收集普通种群的期望,熵,以及前代反馈信息超熵,构建正态云分布模型;设定普通个体集的期望Ex和熵En如下:
Ex=f(best(t)) (1)
其中n表示普通个体集中个体的数量;
然后,公式(3)表示超熵He的第一代取值公式,随后He的取值会根据每代反馈情况给予变动;变动规则为:
其中当前策略为随机游走策略或一维更新策略;如果当前策略计算的种群适应度总体较上代得到提高,保持现有策略,其中一维更新策略将超熵设定为0.2和0.5之间的随机值;
随机游走策略将超熵设定为0.5到0.8之间的随机值,以此来变更云模型的混乱度,调整群体的差异性和稳定性;;
将期望、熵、超熵作为参数生成云,正态云生成函数如公式4所示;
步骤三:对每一个普通个体集中个体计算与源程序的相似度,按照相似度从高向低赋予其云模型属性中的确定度,以此增强候选个体的适应度信息;
根据云模型概率分布,按照程序相似度顺序将适应度与调整因子进行相加,与源程序的相似度越大,表示对源程序的改动越小,那么程序语义改变的可能性就越小,在都被测试集验证通过的前提下,改动源程序幅度更小的修复方式拥有更高的修复质量;源程序相似度计算公式如(5)所示,k与k’代表源程序与普通个体集中个体程序的语句数量,其中E(i)代表普通个体集中个体程序语句中第i个元素,E’(i)代表源程序语句中第i个元素,用E(i)==E’(i)表示元素的一致性,如果相同语句则返回1,否则返回0;
对于公式(6)考虑如下:对于同一代的相似个体组成的种群,即除去最优和最差子群后的个体集组成的种群,使用云模型将这些无序同性质个体通过云分布概率模型重新调整适应值,以区分不同个体适应度;公式中n表示属于[a,b]范围的普通个体数目,由于调整后的适应度不能高于区间最大适应度,所以取最大适应度与最大区间b的差值作为调整范围,为了防止随机因素的干扰,取差值的一半,按照云概率分布图中的概念确定度更新适应度;
更新规则如公式(7)所示,其中个体角度的适应度计算部分:NposT表示通过的正向测试用例个数,每个通过的正向测试用例用全局参数正向测试权重WposT更新权值,用以表明程序的功能正确性;NnegT表示通过的负向测试用例个数,每个通过的负向测试用例用更大负向测试权重WnegT更新权值,用来着重体现程序中修复的错误;最后加上整体角度根据云模型确定的调整因子,共同组成适应度计算公式;
f(t)=NposT*WposT+NnegT*WnegT+αi (7)
步骤四:合并三个子群,根据更新的适应度函数对所有补丁进行重排列,根据上代反馈信息调整遗传参数,用遗传算法对种群进行选择,交叉,变异,生成新一代种群;
步骤五:收集新种群的反馈信息并与原始种群的适应度进行比较;在提高适应度的基础上,保持现有策略不变;假若种群质量下降,则更换另一种策略和参数;
将上一代的适合度与当前种群的适应度值进行遍历;在提高补丁解决方案质量的情况下,成功率增加1,用sr1和sr2分别记录随机游走和一维更新策略的成功率;如果sr1大于sr2,则表示使用随机游走的成功率高于使用一维更新规则的成功率;这时分两部分更新策略:
(1)在下一次迭代中,更多的个体应用随机游走的进化策略,增加变异率Pm的值;
(2)同时更新He值;
步骤六:重复执行步骤二~步骤五,超过时限或最大遗传代数表示修复失败;否则直至找到通过所有测试用例的候选补丁,程序执行成功并报告给用户。
2.根据权利要求1所述的一种新的动态反馈和改进型补丁评价的软件自动修复方法,其特征在于:步骤四中遗传算法通过选择高适应度个体复制到下一代中来进行迭代,丢弃适应度为0,未编译或未通过测试用例的变体,将其余部分放在一起使用随机通用抽样选择新一代成员带入新的交配池;在遗传算法中,变异操作通常涉及单位翻转或简单的符号替换;因为基本单元是语句,所以变异运算由删除,插入或与另一个语句交换组成,其中删除表示删除整个语句,插入表示在其后插入另一个语句;;从这些选项中以同样的随机概率进行选择,在交换的情况下,可以从程序中的任何位置随机选择第二条语句;交叉将一个变体的“第一部分”与另一个变体的“第二部分”结合起来,创建后代变体,该后代变体结合了来自两个亲本的信息。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
工具识别系统 | 2020-05-08 | 782 |
面向传感器数据的NoSQL数据库评测系统及其构建方法 | 2020-05-08 | 129 |
用于应用中的错误诊断的方法、装置和计算机存储介质 | 2020-05-08 | 450 |
一种基于人工智能的电气自动化设备监测系统和方法 | 2020-05-08 | 956 |
一种集控式智慧污水处理厂运行系统 | 2020-05-08 | 348 |
一种基于可信第三方的大数据试验场安全初始化方法 | 2020-05-11 | 457 |
智能感应式多媒体导购设备及应用系统 | 2020-05-08 | 806 |
一种新的动态反馈和改进型补丁评价的软件自动修复方法 | 2020-05-08 | 494 |
一种基于区块链的公募慈善基金运营系统及使用方法 | 2020-05-08 | 542 |
一种增强型隐形牙齿矫正器 | 2020-05-08 | 37 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。