预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115828269A(43)申请公布日2023.03.21(21)申请号202310115880.6G06N3/0442(2023.01)(22)申请日2023.02.15G06N3/045(2023.01)(71)申请人哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院)地址518000广东省深圳市南山区桃源街道深圳大学城哈尔滨工业大学校区(72)发明人高翠芸文昕成徐国爱廖清顾钊铨刘川意王轩(74)专利代理机构深圳市添源创鑫知识产权代理有限公司44855专利代理师覃迎峰(51)Int.Cl.G06F21/57(2013.01)G06F21/56(2013.01)G06N3/08(2023.01)权利要求书2页说明书12页附图1页(54)发明名称源代码漏洞检测模型的构建方法、装置、设备及存储介质(57)摘要本公开提供了一种源代码漏洞检测模型的构建方法、装置、设备及存储介质,通过构建代码结构图,所述代码结构图包括节点、边信息、节点类型以及边类型;基于所述代码结构图构建元路径图,其中,所述元路径图中的元路径用于代表由边信息连接的源节点到目标节点的异构关系;基于元路径注意力机制学习所述元路径图中各个元路径的异构关系,以及基于分层注意力机制学习超过预设距离的节点之间的依赖关系,从而使得图神经网络能够学习代码的语法结构信息,提升代码漏洞检测的性能。CN115828269ACN115828269A权利要求书1/2页1.一种源代码漏洞检测模型的构建方法,其特征在于,所述方法包括:构建代码结构图,所述代码结构图包括节点、边信息、节点类型以及边类型;基于所述代码结构图构建元路径图,其中,所述元路径图中的元路径用于代表由边信息连接的源节点到目标节点的异构关系;基于元路径注意力机制学习所述元路径图中各个元路径的异构关系,以及基于分层注意力机制学习超过预设距离的节点之间的依赖关系。2.根据权利要求1所述的方法,其特征在于,所述基于元路径注意力机制学习所述元路径图中各个元路径的异构关系包括:所述元路径注意力机制包括节点注意力机制和边缘注意力机制,将所述节点注意力机制和所述边缘注意力机制作为输入,学习所述元路径图中各个元路径的异构关系,公式如下:,,其中,表示第l层节点的元路径注意力分数;表示元路径,其中,s为源节点,为源节点s对应的节点类型,e为边信息,为边信息e对应的边类型,t为目标节点,为目标节点s对应的节点类型;表示将h个注意力头的输出连接在一起;分别为第l层和第l‑1层目标节点t的向量表示;为可训练的参数,表示目标节点t的相邻节点的集合,表示源节点s在第l层元路径注意力中的Value线性空间,表示第l层节点的节点注意力机制,表示第l层的边缘注意力机制。3.根据权利要求2所述的方法,其特征在于,在所述将节点注意力机制和边缘注意力机制作为输入,学习所述元路径图中各个元路径的异构关系之前,还包括:构建各个元路径内节点注意力机制的计算公式:,其中,表示可训练的参数和权重矩阵;是连接操作,是Sigmoid激活函数;表示源节点s在第l层元路径注意力中的Key的线性空间,表示目标节点t在第l层元路径注意力中的Query的线性空间。4.根据权利要求3所述的方法,其特征在于,在所述将节点注意力机制和边缘注意力机制作为输入,学习所述元路径图中各个元路径的异构关系之前,还包括:构建各个元路径内边缘注意力机制的计算公式:,表示用于捕获不同级别异构关系的每种边类型的矩阵,表示可训练参数;d表示节点向量的维数;h表示边缘注意力机制头的个数;T为矩阵的转置操作。5.根据权利要求4所述的方法,其特征在于,在将节点注意力机制和边缘注意力机制作为输入,学习所述元路径图中各个元路径的异构关系之前,还包括:将所述元路径图中目标节点t的初始特征向量分别映射到不同的线性空间Query,2CN115828269A权利要求书2/2页Key,Value中,公式如下:,其中,分别代表目标节点t在第l层元路径注意力中的Query,Key和Value的线性空间,表示第l‑1层目标节点t的特征向量。6.根据权利要求5所述的方法,其特征在于,所述基于分层注意力机制学习超过预设距离的节点之间的依赖关系,包括:计算不同节点类型的远程连接表征式,并输入分层注意力机制模型,计算公式为:,其中,为通过学习节点类型i的代码建立节点类型i的远程连接表征式;表示门控循环单元的输出;表示所述代码结构图中节点类型为i的数量;i表示节点类型,st、ex、sy分别表示节点类型为语句,表达式和符号;q表示节点类型i的数量从1加到,MLP则表示多层感知机;表示不同节点类型的可训练权重;Avgpool为平均池化层;Maxpool为最大池化层;M为分层注意力机制模型