[发明专利]一种基于深度学习与程序合成的C/C++程序缺陷自动修复方法有效
申请号: | 201810727406.8 | 申请日: | 2018-07-05 |
公开(公告)号: | CN108829438B | 公开(公告)日: | 2020-04-07 |
发明(设计)人: | 王林章;周风顺;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72;G06F8/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明基于深度学习与程序合成的C/C++程序缺陷自动修复方法,输入带有缺陷的C/C++程序、错误定位信息、程序需要满足的规约以及满足相同规约正确程序集,通过学习正确程序中的书写结构,建立一个正确书写结构模型;根据错误定位信息,将错误点之前的代码结构作为模型的输入,预测错误点的书写结构,扩展成修复候选项集,并组织成选择表达式的形式;使用程序合成方法,将带有选择表达式的程序和该程序需要满足的规约转化为逻辑表达式,使用约束求解器,在设定的时间内进行求解;根据每个选择表达式的选项,输出最终的C/C++代码,得到修复后程序。本方法在多项式的时间复杂度内修复C/C++程序常见缺陷,保证修复后程序正确性。 | ||
搜索关键词: | 一种 基于 深度 学习 程序 合成 c++ 缺陷 自动 修复 方法 | ||
【主权项】:
1.一种基于深度学习与程序合成的C/C++程序缺陷自动修复方法,其特征在于:输入带有缺陷的C/C++程序、错误定位信息、程序需要满足的规约以及满足相同规约正确程序集,通过学习正确程序中的书写结构,建立一个正确书写结构模型;根据错误定位信息,将错误点之前的代码结构作为模型的输入,预测错误点的书写结构,扩展成修复候选项集,并组织成选择表达式的形式;使用程序合成方法,将带有选择表达式的程序和该程序需要满足的规约转化为逻辑表达式,使用约束求解器,在设定的时间内进行求解;根据每个选择表达式的选项,输出最终的C/C++代码,即得到修复后的程序。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810727406.8/,转载请声明来源钻瓜专利网。