[发明专利]一种基于CodeBert和空间结构的代码缺陷预测方法在审

专利信息
申请号: 202210849413.1 申请日: 2022-07-19
公开(公告)号: CN115185730A 公开(公告)日: 2022-10-14
发明(设计)人: 鞠小林;沈逸恒;沈昊;陈翔 申请(专利权)人: 南通大学
主分类号: G06F11/07 分类号: G06F11/07;G06F8/75;G06N3/04;G06N3/08
代理公司: 南京经纬专利商标代理有限公司 32200 代理人: 张俊俊
地址: 226019 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 codebert 空间结构 代码 缺陷 预测 方法
【说明书】:

发明提供了一种基于CodeBert和空间结构的代码缺陷预测方法,属于计算机技术领域。解决了缺陷预测模型中代码特征提取部分缺乏代码空间结构,使得模型获得更多的代码特征信息的问题。其技术方案为:包括以下步骤:S1:从issues中收集数据集并进行预处理操作;S2:进行关键特征提取和降维;S3:通过最短路径长度表示代码空间结构信息;S4:构建bi‑LSTM/LSTM神经网络模型;S5:构建Aast输入神经网络模型;S6:得到预测结果。本发明的有益效果为:本发明从源代码中提取更加丰富的代码语义及结构特征,从而提高缺陷预测的质量和可靠性。

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于CodeBert和空间结构的代码缺陷预测方法。

背景技术

在软件开发和维护中,技术人员将大量时间用于判断代码是否存在缺陷。更准确的缺陷预测技术可识别程序中容易出现缺陷的模块,从而优化软件开发和测试过程,提高软件的质量和可靠性。因此,它们在软件的开发和维护中发挥着重要作用。然而,在实际过程中,由于项目开发和维护预算有限,技术人员缺乏编程经验,或者有些缺陷隐藏太深,很难用手动排查出来。因此,有必要为程序设计一个有效的自动缺陷预测方法。

近年来,机器学习被广泛应用于缺陷预测领域,研究人员仅仅提取代码语义并直接应用于模型中,忽略了代码本身的空间结构信息,也甚少将最初提取的代码语义向量更好的适应神经网络模型而进行预训练。最近研究将缺陷预测建模为分类器问题,提出了基于深度学习的方法并取得了很好的效果。然而,这些方法通常需要准确的提取代码语义来训练模型。因此,需要探索一种能更好的表征代码语义的方法来解决缺陷预测问题。

如何解决上述技术问题成为本发明面临的课题。

发明内容

本发明的目的在于提供一种基于CodeBert和空间结构的代码缺陷预测方法,该方法可以预测程序代码是否存在缺陷。

本发明的思想为:本发明提出基于CodeBert和空间结构的代码缺陷预测方法,即通过预训练模型CodeBert提取代码语义和用抽象语法树生成最短路径长度矩阵,从而得到代码空间信息,然后经过bi-LSTM和LSTM模型等进一步得到代码特征表示,从而更准确的预测代码是否存在缺陷。

为了实现上述发明目的,本发明采用技术方案具体为:一种基于CodeBert和空间结构的代码缺陷预测方法,其中,包括以下步骤:

(1)挖掘Git Hub中Stars数排名靠前的java项目,然后通过爬虫程序从issues中收集提交的缺陷代码段、缺陷描述及修复后的代码段,对非英文语言的缺陷描述翻译为英文,得到数据集D,设定数据集的格式为项目名,缺陷代码,修复后代码,缺陷描述,具体预处理操作包括如下步骤:

(1-1)首先删除掉没有缺陷描述的数据;

(1-2)将非英文的缺陷描述翻译为英文;

(2)通过CodeBert和BERT-whitening操作提取代码语义信息,具体包括如下步骤:

(2-1)对于给定的代码段,首先根据大小写命名规则对其进行分割,得到输入序列;

(2-2)将序列输入到CodeBert中,提取输出中第一层和最后一层的隐藏状态,并对它们取平均值,得到代码段的语义特征向量;

(2-3)使用BERT-whitening来处理语义向量,通过线性变换进行关键特征提取和降维;

(3)考虑数据集代码的抽象语法树信息,通过最短路径长度表示代码空间结构信息,具体包括如下步骤:

(3-1)首先根据solidity-parser-antlr将代码生成相应的抽象语法树(ASTs);

(3-2)使用广度优先搜索的算法生成AST的最短路径长度矩阵,记作A;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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