[发明专利]一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法在审
申请号: | 202310541653.X | 申请日: | 2023-05-12 |
公开(公告)号: | CN116521564A | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 李志强;刘海洋 | 申请(专利权)人: | 陕西师范大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/2415;G06N3/0442;G06F18/25 |
代理公司: | 西安铭泽知识产权代理事务所(普通合伙) 61223 | 代理人: | 田甜 |
地址: | 710119 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 lstm 嵌入 编码 门控 融合 机制 软件 缺陷 预测 方法 | ||
本发明公开了一种基于LSTM的多词嵌入编码‑门控融合机制的软件缺陷预测方法,包括如下步骤:1)通过静态代码分析工具解析待预测软件源码;2)通过抽象语法树提取源码的语法和语义信息;3)通过Word2Vec算法和Glove算法分别对提取的语法和语义信息进行词嵌入编码;4)将两种词嵌入向量分别输入对应的LSTM网络中训练,生成对应词嵌入编码的语法特征向量;5)将两种特征向量输入门控调节融合模型;6)将融合结果输入softmax层获得缺陷预测结果。本发明可以充分利用多种词嵌入深度学习算法的优势,从中提取到更多的语法和语义信息,进而提高软件缺陷预测效果,有助于更好地保障软件产品的质量与可靠性。
技术领域
本发明涉及软件缺陷预测技术领域,尤其涉及一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法。
背景技术
软件缺陷是指软件产品中存在的,导致产品无法满足软件需求和其规格要求,需要进行修复的瑕疵、问题。随着计算机软件行业的不断发展,人们对软件质量、软件可靠性、软件可信性的要求逐步提高,然而伴随着软件规模、软件复杂性的不断提升,软件缺陷出现的概率和排查难度也不断提高。而且软件缺陷的危害一旦在运行时爆发,极有可能给软件公司、客户等带来巨大的直接或间接的经济、商誉、安全等损失,这些不利因素都大大的制约着软件行业的发展。因此及早的排查发现缺陷,及早的修复缺陷对软件发展至关重要。但是缺陷发现需要消耗大量的时间和资源,因此研究者们提出了软件缺陷预测技术,以便及时的发现缺陷,及早修复,提高软件质量。
现阶段,随着软件缺陷预测技术的发展,部分研究者发现基于传统的软件缺陷特征如Halstead特征、McCabe特征、CK特征、MOOD特征、代码变更特征等无法表征代码的语法和语义结构,开始通过获取源代码中的语法和语义信息作为新的特征构建软件缺陷预测模型。同时随着机器学习和深度学习的发展,如DBN,CNN,和LSTM等算法在软件工程领域有了广泛的应用,可以自动学习源码中的语法和语义特征。但是当前通过深度学习算法学习源代码的语法和语义信息,必须将以文本形式存在的源代码转换为深度学习算法可以训练的数字向量,目前大多数基于深度学习的缺陷预测模型都是将源代码解析为抽象语法树,形成Token向量,并采用自然语言处理(NLP)领域中的词嵌入模型对Token向量进行编码。目前最常用的词嵌入算法有Word2Vec和Glove,Word2Vec采用上下文预测中间的词或用中间的词预测其上下文,是一种分类模型,而Glove首先建立共现矩阵,然后进行降维,是一种基于计数的模型。目前基于深度学习的缺陷预测方法只采用一种词嵌入算法,仅考虑了Token向量的某一方面信息,其往往具有一定的局限性。因为不同的词嵌入算法的设计原理不相同,使用一种词嵌入算法并不能充分地将含有语法和语义信息的Token序列转换为等价的数字向量,使得基于深度学习的缺陷预测模型很难从输入向量中有效学习到对应源码的语法和语义信息,从而导致缺陷预测的效果不够理想。
发明内容
本发明针对现有方法存在的不足,提供一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,可以充分利用多种词嵌入算法的优势,对深度学习网络训练生成的特征向量进行门控融合,从而提高软件缺陷预测的性能,更好地保证软件质量。
为了实现上述目标,本发明采用的技术方案是:一种基于LSTM的多词嵌入编码-门控融合机制的软件缺陷预测方法,包括以下步骤:
获取待检测软件源代码,通过静态代码分析工具获得源代码文件的抽象语法树;
对抽象语法树进行深度优先遍历,获得带有语法和语义信息的Token序列;
通过Word2Vec和Glove算法分别对带有语法和语义信息的Token序列进行词向量训练,将训练好的词向量模型对Token序列进行编码,生成可以表征源代码的数字向量;
将通过词嵌入算法编码后的Token序列输入对应的LSTM网络中训练,获得不同词嵌入编码对应的含有语法和语义信息的特征向量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西师范大学,未经陕西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310541653.X/2.html,转载请声明来源钻瓜专利网。