[发明专利]一种基于图神经网络的代码检索方法、系统及计算机可读存储介质在审
申请号: | 202110989902.2 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113886520A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 张凡龙;陈宇琛;车毅;周玉奇;陈晓茵;林翠盈 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F40/289;G06F40/30;G06N3/04;G06N3/08 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510090 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 神经网络 代码 检索 方法 系统 计算机 可读 存储 介质 | ||
1.一种基于图神经网络的代码检索方法,其特征在于,包括以下步骤:
S1:获取代码数据,进行代码完整性预处理;
S2:分别提取预处理后代码的序列信息、控制流图信息、程序依赖图信息;
S3:利用代码的序列信息、控制流图信息、程序依赖图信息构建代码序列的代码图;
S4:构建基于图神经网络的代码检索模型,利用基于代码序列的代码图和自然语言描述训练基于图神经网络的代码检索模型;
S5:利用训练完毕的基于图神经网络的代码检索模型进行代码检索。
2.根据权利要求1所述的一种基于图神经网络的代码检索方法,其特征在于,所述代码完整性预处理即将不完整的代码片段使用代码插桩的方式进行补全,得到可以通过编译的完整代码。
3.根据权利要求1所述的一种基于图神经网络的代码检索方法,其特征在于,所述图神经网络的代码检索模型包括:代码特征提取部分和自然语言描述特征提取部分,所述代码特征提取部分的输入为基于代码序列的代码图,所述代码特征提取部分的输出为一维代码特征向量;所述自然语言描述特征提取部分的输入为自然语言描述分词处理后的Token,所述自然语言描述特征提取部分的输出为一维自然语言描述特征向量。
4.根据权利要求3所述的一种基于图神经网络的代码检索方法,其特征在于,所述利用基于代码序列的代码图和自然语言描述训练图神经网络的代码检索模型具体包括:
通过代码特征提取部分和自然语言描述特征提取部分分别输出一维代码特征向量和一维自然语言描述特征向量;
计算一维代码特征向量和一维自然语言描述特征向量的余弦相似度;
利用余弦相似度得到训练损失,根据训练损失进行反向传播更新图神经网络的代码检索模型参数,得到训练后的图神经网络的代码检索模型。
5.根据权利要求3所述的一种基于图神经网络的代码检索方法,其特征在于,所述代码特征提取部分包括:第一Embedding模块、图神经网络、attention模块,所述第一Embedding模块输入端用于接收基于代码序列的代码图,所述第一Embedding模块的输出端连接至图神经网络的输入端,所述图神经网络的输出端连接至attention模块,所述attention模块输出一维代码特征向量。
6.根据权利要求3所述的一种基于图神经网络的代码检索方法,其特征在于,所述自然语言描述特征提取部分包括:第二Embedding模块、双向时序神经网络,所述第二Embedding模块输入为自然语言描述分词处理后的Token,所述第二Embedding模块输出连接至双向时序神经网络输入端,所述双向时序神经网络输出端输出一维自然语言描述特征向量。
7.根据权利要求6所述的一种基于图神经网络的代码检索方法,其特征在于,步骤S5所述的利用训练完毕的图神经网络的代码检索模型进行代码检索具体过程为:
输入自然语言描述并进行分词处理得到每个词的Token;
将所有分词处理得到的Token利用自然语言描述特征提取部分提取一维自然语言描述特征向量。
将一维自然语言描述特征向量分别与预设的代码库中一维代码特征向量计算余弦相似度,其中余弦相识度最大的一维代码特征向量对应的代码输出为代码检索结果。
8.一种基于图神经网络的代码检索系统,其特征在于,该系统包括:存储器、处理器,所述存储器中包括基于图神经网络的代码检索方法程序,所述基于图神经网络的代码检索方法程序被所述处理器执行时实现如下步骤:
S1:获取代码数据,进行代码完整性预处理;
S2:分别提取预处理后的代码的序列信息、控制流图信息、程序依赖图信息;
S3:利用代码的序列信息、控制流图信息、程序依赖图信息构建代码序列的代码图;
S4:构建基于图神经网络的代码检索模型,利用基于代码序列的代码图和自然语言描述训练基于图神经网络的代码检索模型;
S5:利用训练完毕的基于图神经网络的代码检索模型进行代码检索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110989902.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:磁性功率器件和应用其的电源模块
- 下一篇:一种连接稳固的门窗框架及其安装方法