[发明专利]一种基于受限集的程序语义缺陷自动修复方法有效
申请号: | 201910832302.8 | 申请日: | 2019-09-04 |
公开(公告)号: | CN110674031B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 董玉坤;张莉;庞善臣;刘浩;尹文静 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/658 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 曹鹏飞 |
地址: | 266000 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于受限集的程序语义缺陷自动修复方法,首先,将常见的程序语义缺陷,根据语法和语义特征归纳总结为缺陷模式,针对变量相关的缺陷模式,将能触发缺陷的相关变量取值集合定义为受限集。然后,基于受限集,对每类缺陷模式预定义修复模板,对于每个缺陷,根据修复模板和检测得到的缺陷信息自动合成修复条件,遵循程序改动最小原则,通过控制流图,利用使用‑定义链确定修复位置并插入修复条件,实现程序自动修复。本发明提供的技术方案可以有针对性的对程序语义缺陷进行程序自动修复,并且具有修复率高,修复速度快的优点。 | ||
搜索关键词: | 一种 基于 受限 程序 语义 缺陷 自动 修复 方法 | ||
【主权项】:
1.一种基于受限集的程序语义缺陷自动修复方法,其特征在于,包括以下部分:/nA、预定义修复模板,针对缺陷特征给出统一的修复方法,由缺陷报告中的缺陷类型确定对应的预定义修复模板;/nB、对缺陷文件进行重建抽象语法树,广度优先遍历AST,找到缺陷语句对应的树结点,更新抽象语法树结点上的缺陷相关信息,获取缺陷操作;/nC、获得缺陷相关变量的受限集,进而得到补丁修复条件;/nD、遵循程序改动最小原则,利用使用-定义链确定修复位置。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910832302.8/,转载请声明来源钻瓜专利网。