[发明专利]一种缺陷程序修复处理方法及装置在审
| 申请号: | 202210890817.5 | 申请日: | 2022-07-27 |
| 公开(公告)号: | CN115185853A | 公开(公告)日: | 2022-10-14 |
| 发明(设计)人: | 祝洁;宋承展;施好健;潘宇畅 | 申请(专利权)人: | 中国工商银行股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王首峰;任默闻 |
| 地址: | 100140 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 缺陷 程序 修复 处理 方法 装置 | ||
本发明提供一种缺陷程序修复处理方法及装置,涉及数据处理技术领域,可用于金融领域或其他技术领域。所述方法包括:确定与缺陷程序对应的目标相似程序,并确定与所述缺陷程序的待修复程序块对应的所述目标相似程序中的修复代码块;确定各待修复程序块和各修复代码块为初始化子种群,基于多种群遗传算法生成代码补丁,并根据测试数据获取所述代码补丁的测试结果;根据预设适应度函数计算个体适应度,将大于预设阈值的个体适应度对应的个体从所在子种群中删除,迁移至其他子种群。所述装置执行上述方法。本发明实施例提供的方法及装置,能够避免利用遗传算法生成代码补丁出现的过拟合现象,进而提高缺陷程序修复效率。
技术领域
本发明涉及数据处理技术领域,具体涉及一种缺陷程序修复处理方法及装置。
背景技术
缺陷程序广泛存在,为了提高缺陷程序的修复效率,现有方法通过代码补丁进行缺陷程序修复,现有技术也利用遗传算法生成代码补丁,但是,遗传算法易出现过拟合现象。
发明内容
针对现有技术中的问题,本发明实施例提供一种缺陷程序修复处理方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种缺陷程序修复处理方法,包括:
确定与缺陷程序对应的目标相似程序,并确定与所述缺陷程序的待修复程序块对应的所述目标相似程序中的修复代码块;
确定各待修复程序块和各修复代码块为初始化子种群,基于多种群遗传算法生成代码补丁,并根据测试数据获取所述代码补丁的测试结果;
根据预设适应度函数计算个体适应度,将大于预设阈值的个体适应度对应的个体从所在子种群中删除,迁移至其他子种群,并继续执行所述基于多种群遗传算法生成代码补丁以及后续步骤,直到满足预设算法终止条件,并利用此时的代码补丁对所述缺陷程序进行修复;
其中,所述预设适应度函数包含有测试因子项;所述测试因子项根据所述测试数据和所述测试结果计算得到。
其中,所述确定与缺陷程序对应的目标相似程序,包括:
确定与所述缺陷程序对应的初始相似程序,并分别对所述缺陷程序和所述初始相似程序进行分块,得到与所述缺陷程序和所述初始相似程序分别对应的第一关键模块结构图和第二关键模块结构图;
根据所述第一关键模块结构图和所述第二关键模块结构图,计算所述缺陷程序和所述初始相似程序的相似度,并将相似度大于预设相似度阈值的初始相似程序确定为所述目标相似程序。
其中,所述根据所述第一关键模块结构图和所述第二关键模块结构图,计算所述缺陷程序和所述初始相似程序的相似度,包括:
根据所述第一关键模块结构图和所述第二关键模块结构图的参数,计算参数相似度,并根据所述第一关键模块结构图和所述第二关键模块结构图的结构,计算结构相似度;
根据所述参数相似度、所述结构相似度以及各自对应的权重,计算所述缺陷程序和所述初始相似程序的相似度。
其中,所述根据所述第一关键模块结构图和所述第二关键模块结构图的参数,计算参数相似度,包括:
分别获取所述第一关键模块结构图和所述第二关键模块结构图的开始节点中的程序参数类型和参数个数,并计算各参数个数的参数个数差值,以及程序参数类型相同个数;
根据所述参数个数差值、所述程序参数类型相同个数以及各自对应的权重,计算所述参数相似度。
其中,所述根据所述第一关键模块结构图和所述第二关键模块结构图的结构,计算结构相似度,包括:
分别获取所述第一关键模块结构图和所述第二关键模块结构图的公共子图,并根据所述公共子图的公共子图节点数和目标程序节点数计算所述结构相似度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210890817.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电源系统
- 下一篇:一种社交文本分词方法及装置





