[发明专利]一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法在审
申请号: | 202310541653.X | 申请日: | 2023-05-12 |
公开(公告)号: | CN116521564A | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 李志强;刘海洋 | 申请(专利权)人: | 陕西师范大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/2415;G06N3/0442;G06F18/25 |
代理公司: | 西安铭泽知识产权代理事务所(普通合伙) 61223 | 代理人: | 田甜 |
地址: | 710119 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 lstm 嵌入 编码 门控 融合 机制 软件 缺陷 预测 方法 | ||
1.一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,包括如下步骤:
获取待检测软件源代码,通过静态代码分析工具获得源代码文件的抽象语法树;
对抽象语法树进行深度优先遍历,获得带有语法和语义信息的Token序列;
通过Word2Vec和Glove算法分别对带有语法和语义信息的Token序列进行词向量训练,用训练好的词嵌入模型对Token序列进行编码;
将通过词嵌入算法编码后的Token序列输入对应的LSTM网络中进行训练,获得不同的词嵌入编码对应的含有语法和语义的特征向量;
将两种特征向量输入门控融合模型中进行特征筛选、调节、融合;
将融合后的特征向量输入到输出层分类,最终获得预测结果。
2.如权利要求1所述的一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,所述通过静态代码分析工具获得源码文件的抽象语法树,包括:使用antrl工具基于待检测软件的编程语言的语法规则进行解析,或使用treesiter工具对其所支持的语言进行源码解析,或者使用javalang解析库对待检测软件源码解析,获取每个源码文件的抽象语法树。
3.如权利要求1所述的一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,对所述对抽象语法树进行深度优先遍历,获得带有语法和语义信息的Token序列,包括:在遍历抽象语法树过程中,忽略包声明类型节点和导包类型节点等无语法和语义信息的节点;对于其他声明类节点、引用类型节点、函数调用类型节点需要将节点类型信息和节点值结息结合形成Token序列;对于控制类型节点,只需将节点类型形成Token。
4.如权利要求1所述的一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,所述通过Word2Vec和Glove算法分别对带有语法和语义信息的Token序列进行词向量训练,用训练好的词嵌入模型对Token序列进行编码,包括:词向量训练时对于出现频率小于3的Token视为unk并统一编码;统一编码后的数字向量大小为64,对于编码后长度小于64的向量通过补0对齐,对于编码后长度大于64的向量通过截断对齐。
5.如权利要求1所述的一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,将通过不同词嵌入算法编码后的向量分别输入LSTM网络中,对于每种词嵌入编码算法对应的LSTM网络,其中每个LSTM单元接受上一个LSTM单元的输出向量和当前时间步的输入向量,逐步从编码向量中提取出源码文件的语法和语义信息,获得表征源码文件的特征向量。
6.如权利要求1所述的一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,所述门控融合模型,接受Word2Vec词嵌入编码和Glove词嵌入编码对应的特征向量,分别送入两个门控全连接层进行特征筛选、调节,再通过concatenate层对调节后的特征向量进行融合。
7.如权利要求1所述的一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,其特征在于,所述分类输出层采用激活函数是softmax,其公式如下:
s=softmax(W·E+b) (1);
其中,s是输出层输出的待预测文件的缺陷概率,W是输出层的权重矩阵,E是门控融合模型输出的融合向量,b是偏置参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西师范大学,未经陕西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310541653.X/1.html,转载请声明来源钻瓜专利网。