(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111665944.7
(22)申请日 2021.12.31
(71)申请人 华中科技大 学
地址 430074 湖北省武汉市洪山区珞喻路
1037号
(72)发明人 付才 杨佳 韩兰胜 刘铭
邹德清 江帅
(74)专利代理 机构 华中科技大 学专利中心
42201
代理人 胡秋萍
(51)Int.Cl.
G06F 8/41(2018.01)
G06F 11/36(2006.01)
G06N 3/04(2006.01)
G06N 3/08(2006.01)
(54)发明名称
图张量神经网络模型建立方法及源代码语
义识别方法
(57)摘要
本发明公开了一种图张量神经网络模型建
立方法及源代码语义识别方法, 属于软件分析检
测领域, 方法包括: 建立图张量构建网络层, 用于
从源代码中提取AST、 CFG、 DDG和NCS的图结构并
组合得到图张量空间特征; 建立门控图张量神经
网络层, 用于利用图张量空间特征计算源代码的
图结构节 点的隐藏层特征; 建立图张量卷积神经
网络层, 用于利用隐藏层特征提取图结构节点的
语义特征; 建立输出网络层, 用于根据语义特征
利用分层softmax函数预测源代码中的变量, 和/
或, 预测源代码中缺失的变量; 将训练样本输入
包含各网络层的图张量神经网络模 型, 利用反向
传播训练模 型中的权重参数。 该图张量神经网络
模型的源代码语义识别更准确, 且效率更高。
权利要求书2页 说明书7页 附图2页
CN 114327483 A
2022.04.12
CN 114327483 A
1.一种图张量神经网络模型建立方法, 其特征在于, 所述图张量神经网络模型用于识
别源代码语义特 征, 方法包括:
S1, 建立图张量构建网络层, 用于从源代码中分别提取AST、 CFG、 DDG和NCS的图结构, 组
合各所述图结构得到所述源代码的图张量空间特 征;
S2, 基于门控神经网络深度学习算法和张量计算建立门控图张量神经网络层, 并连接
所述图张量构建 网络层的输出侧, 用于利用所述图张量空间特征计算所述源代码的图结构
节点的隐藏层特 征;
S3, 基于图卷积神经网络深度学习算法和张量计算建立图张量卷积神经网络层, 并连
接所述门控图张量神经网络层的输出侧, 用于利用所述隐藏层特征提取所述图结构节点的
语义特征;
S4, 基于注意力机制建立输出网络层, 并连接所述图张量卷积神经网络层的输出侧, 用
于根据所述语义特征利用分层softmax函数预测所述源代码中的变量, 和 /或, 预测所述源
代码中缺失的变量;
S5, 将训练样本输入图张量神经网络模型, 所述图张量神经网络模型包含所述S1 ‑S4中
建立的各网络层, 利用反向传播训练所述图张量神经网络模型中的权重参数, 得到优化后
的图张量神经网络模型。
2.如权利要求1所述的图张量神经网络模型建立方法, 其特征在于, 所述S1中图张量构
建网络层组合各所述图结构包括: 提取AST的图结构中的最大节 点集合, 分别将各所述图结
构中与所述最大节点集合对应的节点构成的邻接矩阵设置为相应的切片, 沿三维扩展方向
组合生成的四张切片, 得到所述图张量空间特 征。
3.如权利要求1所述的图张量神经网络模型建立方法, 其特征在于, 所述门控图张量神
经网络层中的计算方法包括:
其中,
为节点v的隐藏层初始节点特征,
为节点v的初始特征矩阵
的转置矩
阵,
为t时刻节点v的聚合图中其他节点特征以及节点v的邻接矩阵特征,
为图张量
中包含节点v的部分张量
的转置张量, Wh为门控图张量神经网络层中需要训练学习的特
征权重参数矩阵,
为t‑1时刻节点1的特征矩阵,
为t‑1时刻节点|V|的特征矩阵,
|V|为图结构中节点数目, B为模型训练过程中的偏置矩阵,
为t时刻节点v的遗忘门, σ 为
第一激活函数,
为遗忘门信息中和
有关的需要训练学习的模型权重参数之一,
权 利 要 求 书 1/2 页
2
CN 114327483 A
2为遗忘门信息中和
有关的需要训练学习的模型权重参数之一,
为t‑1时刻节点v
的特征矩阵的转置矩阵,
为更新门,
为更新门信息中和
有关的需要训练学习的模
型权重参数之一,
为更新门信息中和
有关的需要训练学习的模型权重参数之一,
为t时刻新产生的节点v的特征信息, f(*)为第二激活函数, Ht‑1为t‑1时刻所有节 点的特
征矩阵整合,
为t时刻最终产生的节点v的特 征信息, ⊙为Hadamard乘积。
4.如权利要求1所述的图张量神经网络模型建立方法, 其特征在于, 所述图张量卷积神
经网络层中的计算方法包括:
其中,
分别为第l+1、 l层图中所有节点特征张量沿第三维的第i个
切片矩阵,
为图张量沿第三维的第i个切片矩阵, fGCN(*)为图卷积神经网络 。
5.如权利要求1所述的图张量神经网络模型建立方法, 其特征在于, 所述输出网络层中
的计算方法包括:
oi=tanh(Wo(Xi; Hi; Ui,v; HiUi,vT))
yi=hsoftmax(Wooi+bc)
其中, oi为包含了所有的候选词的信息向量, Wo(*)为需要学习的训练权重, Xi为节点i
的初始特征矩阵, Hi为经过门控图张量递归网络层和图张量卷积层训练后获得的隐藏层节
点i的特征矩阵, Ui,v为候选词的节点特征矩阵, h(*)为sigmoid激活函, yi为输出的概率分
布, hsoftmax(*)为softmax函数, bc为训练模型的权 重偏置。
6.如权利要求1 ‑5任一项所述的图张量神经网络模型建立方法, 其特征在于, 所述S5 中
根据多分类交叉熵损失函数的目标函数训练所述图张量神经网络模型中的权重参数, 所述
多分类交叉熵损失函数的目标函数为:
其中, J为多分类交叉熵损失函数的目标函数, K为节点特征总数, yi为输出的概率 分布,
pi为训练数据的真实标签值。
7.一种基于图张量神经网络模型的源代码语义识别方法, 其特征在于, 包括: 将待识别
的源代码输入如权利要求 1‑6任一项所述的图张量神经网络模型建立方法建立的图张量神
经网络模型中, 得到所述源代码中的变量, 和/或, 得到所述源代码中缺失的变量。
8.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述程序被处理器
执行时实现如权利要求1 ‑6中任一项所述的图张量神经网络模型建立方法, 和/或, 所述程
序被处理器执行时实现如权利要求7 所述的源代码语义识别方法。权 利 要 求 书 2/2 页
3
CN 114327483 A
3
专利 图张量神经网络模型建立方法及源代码语义识别方法
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 00:19:30上传分享