[发明专利]一种基于图神经网络的代码检索方法、系统及计算机可读存储介质在审
申请号: | 202110989902.2 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113886520A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 张凡龙;陈宇琛;车毅;周玉奇;陈晓茵;林翠盈 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F40/289;G06F40/30;G06N3/04;G06N3/08 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510090 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 神经网络 代码 检索 方法 系统 计算机 可读 存储 介质 | ||
本发明公开了一种基于图神经网络的代码检索方法、系统及计算机可读存储介质,方法包括:S1:获取代码数据,进行代码完整性预处理;S2:分别提取预处理后代码的序列信息、控制流图信息、程序依赖图信息;S3:利用代码的序列信息、控制流图信息、程序依赖图信息构建代码序列的代码图;S4:构建基于图神经网络的代码检索模型,利用基于代码序列的代码图和自然语言描述训练基于图神经网络的代码检索模型;S5:利用训练完毕的基于图神经网络的代码检索模型进行代码检索。本发明代码语义和结构特征提取更完整,同时采用单个图神经网络结构,缩短了模型的训练时间,减少了参数的调节,提高了检索的准确度。
技术领域
本发明涉及神经网络技术领域,更具体地,涉及一种基于图神经网络的代码检索方法、系统及计算机可读存储介质。
背景技术
传统的通过自然语言进行代码检索的方法,通常是单独地使用代码的序列信息或者代码的图结构信息,并没有完整地得到代码的语义与结构信息。在其他的对于通过自然语言进行代码检索的方法中,多数使用的是时序神经网络和树状神经网络,而忽略了代码图结构的特点。
现有技术中,公开号为CN107015905A的中国发明专利,于2017年8月4日公开了一种查询源代码的方法和装置,该查询源代码的方法,预先建立有软件模型中的功能单元的标识信息与源代码的内容标识之间的对应关系,所述方法包括:获取软件模型中的功能单元的标识信息;根据所述对应关系,确定所获取的功能单元的标识信息对应的源代码的内容标识。该方案需要预先建立功能单元的标识信息和源代码内容的标识信息的对应关系,无法实现自然语言的直接代码检索。
发明内容
本发明为克服上述现有的通过自然语言进行代码检索没有考虑完整的代码的语义与结构信息,特征提取不完整,准确度不佳的缺陷,提供一种基于图神经网络的代码检索方法、系统及计算机可读存储介质。
本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
本发明第一方面提供了一种基于图神经网络的代码检索方法,包括以下步骤:
S1:获取代码数据,进行代码完整性预处理;
S2:分别提取预处理后的代码的序列信息、控制流图信息、程序依赖图信息;
S3:利用代码的序列信息、控制流图信息、程序依赖图信息构建代码序列的代码图;
S4:构建基于图神经网络的代码检索模型,利用基于代码序列的代码图和自然语言描述训练基于图神经网络的代码检索模型;
S5:利用训练完毕的基于图神经网络的代码检索模型进行代码检索。
进一步地,所述代码完整性预处理即将不完整的代码片段使用代码插桩的方式进行补全,得到可以通过编译的完整代码。
进一步地,所述图神经网络的代码检索模型包括:代码特征提取部分和自然语言描述特征提取部分,所述代码特征提取部分的输入为基于代码序列的代码图,所述代码特征提取部分的输出为一维代码特征向量;所述自然语言描述特征提取部分的输入为自然语言描述分词处理后的Token,所述自然语言描述特征提取部分的输出为一维自然语言描述特征向量。
进一步地,所述利用基于代码序列的代码图和自然语言描述训练图神经网络的代码检索模型具体包括:
通过代码特征提取部分和自然语言描述特征提取部分分别输出一维代码特征向量和一维自然语言描述特征向量;
计算一维代码特征向量和一维自然语言描述特征向量的余弦相似度;
利用余弦相似度得到训练损失,根据训练损失进行反向传播更新图神经网络的代码检索模型参数,得到训练后的图神经网络的代码检索模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110989902.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:磁性功率器件和应用其的电源模块
- 下一篇:一种连接稳固的门窗框架及其安装方法