[发明专利]基于神经机器翻译的软件缺陷自动修复方法及装置有效

专利信息
申请号: 202110151609.9 申请日: 2021-02-03
公开(公告)号: CN112764784B 公开(公告)日: 2022-10-11
发明(设计)人: 曹鹤玲;刘昱;赵晨阳;贾俊亮;李磊;吕鹏涛;王盼盼;苗建雨;崔洪章;王玉华;左志斌 申请(专利权)人: 河南工业大学
主分类号: G06F8/65 分类号: G06F8/65;G06F11/36;G06F40/58;G06N3/04
代理公司: 河南豫龙律师事务所 41177 代理人: 王长坤
地址: 450001 河南省郑*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 神经 机器翻译 软件 缺陷 自动 修复 方法 装置
【权利要求书】:

1.一种基于神经机器翻译的软件缺陷自动修复方法,其特征在于,包括下述步骤:

1)从数据集中获取不同种类编程语言的若干个缺陷程序、所述缺陷程序上下文和与所述缺陷程序相适配的修复程序共同构成训练数据;

2)基于自然语言处理技术,对训练数据进行预处理,并将经预处理后的训练数据发送到预设神经机器翻译模型中;所述神经机器翻译模型采用双向循环神经网络BiRNN且具有双编码器;双编码器包括缺陷编码器和上下文编码器,其中,缺陷编码器用于提取错误语句与正确语句之间的关系;上下文编码器可以帮助模型从上下文中学习有用的关系,可将作用域外的变量转换为作用域内的变量;

3)对所述神经机器翻译模型进行超参数调整,并在每次超参数调整完成后,使用预处理后的训练数据对所述模型进行训练,最后获得修复不同类型缺陷的多个专用模型;

4)基于Random Forest算法对所述多个专用模型进行集成学习,获得一个可修复不同类型缺陷的组合模型;

5)利用Jaccard缺陷定位技术进行缺陷定位,得到怀疑数据表,其中,所述怀疑数据表包括:怀疑语句,怀疑语句上下文和怀疑语句对应的怀疑值;

6)将怀疑语句及其上下文按照怀疑值从大到小依次送与修复模型并得到相应的候选补丁列表;

7)验证候选补丁是否能够通过失败测试用例,若不能,则验证下一候选补丁;若候选补丁通过了失败测试用例,则继续进行回归测试,若通过回归测试则输出补丁。

2.根据权利要求1所述的基于神经机器翻译的软件缺陷自动修复方法,其特征在于,所述不同种类编程语言包括:

Java、C、C++、Python、JavaScript及其他编程语言。

3.根据权利要求1所述的基于神经机器翻译的软件缺陷自动修复方法,其特征在于,所述缺陷程序的上下文具体包括:

执行调用所述缺陷程序的上层程序和执行调用所述缺陷程序的下层程序。

4.根据权利要求1所述的基于神经机器翻译的软件缺陷自动修复方法,其特征在于,所述对所述神经机器翻译模型进行超参数调整,并在每次超参数调整完成后,使用预处理后的训练数据对所述神经机器翻译模型进行训练,最后获得修复不同类型缺陷的多个专用模型,具体步骤包括:

依次获取预设超参数配置列表中配置数据,并将所述配置数据作为所述神经机器翻译模型的参数进行依次配置,在每次配置完成之后,使用所述预处理后的训练数据进行训练,最后获得修复不同类型缺陷的多个专用模型。

5.根据权利要求1至4任一项所述的基于神经机器翻译的软件缺陷自动修复方法,其特征在于,所述对训练数据进行预处理,具体步骤包括:

运用自然语言处理中的单词级别标记化的方法,若识别到以驼峰命名法进行命名的代码单词,则获取所述代码单词中大写字母的下标位置,以下标位置对代码单词进行分词处理,获取多个代码单元;

若识别到以“_”连接的单词,则获取所述单词下划线的下标位置,以下标位置对代码单词进行分词处理,获取多个代码单元。

6.根据权利要求5所述的基于神经机器翻译的软件缺陷自动修复方法,其特征在于,所述基于神经机器翻译的软件缺陷自动修复方法还包括:

对生成的补丁进行有效性验证的步骤,其中,所述有效性验证是指对于一个候选补丁,首先将该补丁应用于程序源代码,获取打过补丁后的可运行程序,然后使用该程序运行失败测试用例以检查补丁是否修复了原有的缺陷,如果通过了失败测试用例则进行回归测试以检查补丁是否引入了新的缺陷,若通过回归测试则认为该补丁为有效补丁。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南工业大学,未经河南工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110151609.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top