买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种可缓解类重叠问题的跨版本深度缺陷预测方法_江苏工程职业技术学院_202010581583.7 

申请/专利权人:江苏工程职业技术学院

申请日:2020-06-23

公开(公告)日:2020-10-13

公开(公告)号:CN111767216A

主分类号:G06F11/36(20060101)

分类号:G06F11/36(20060101);G06F8/41(20180101);G06K9/62(20060101);G06N3/04(20060101)

优先权:

专利状态码:有效-授权

法律状态:2022.08.09#授权;2020.10.30#实质审查的生效;2020.10.13#公开

摘要:本发明公开了一种可缓解类重叠问题的跨版本深度缺陷预测方法,包括如下:1、跨版本软件缺陷预测中面向深度语义学习的整体框架;2、基于卷积神经网络的语义特征学习模型;3、面向深度语义学习的混合式最近邻清理策略。本发明采用混合式最近邻清理策略来缓解深度学习学出的语义特征中存在的类重叠问题。具体来说对源代码对应的抽象语法树,采用卷积神经网络学出深度语义特征,继而采用混合式最近邻清理策略对标注数据集进行重采样与数据清理。采用混合式最近邻清理策略能够处理类不平衡问题与类重叠问题,对数据的统计分析结果表明该策略能够提升基于深度语义学习的软件缺陷预测的性能。

主权项:1.一种可缓解类重叠问题的跨版本深度缺陷预测方法,其特征在于:包括如下:1、跨版本软件缺陷预测中面向深度语义学习的整体框架;2、基于卷积神经网络的语义特征学习模型;3、面向深度语义学习的混合式最近邻清理策略;具体如下:1.跨版本软件缺陷预测中面向深度语义学习的整体框架:该方法采用混合式最近邻清理策略处理深度语义特征学习过程中的类重叠,使用该方法可以自动的从源代码中学习语义和结构特征,为分类器提供基于深度语义学习的特征向量;该方法首先从训练数据集和测试数据集出发,构建抽象语法树AbstractSyntaxTrees,具体实验中,采用软件开发过程中发布的前一个版本的历史数据作为训练数据集,下一个版本的软件开发数据作为测试数据集;构建抽象语法树过程中,选择具有代表性的语法树节点表示软件模块,每个软件模块构筑符号向量;符号向量采用one-hot编码方式进行编码,对输入向量进行词嵌入,作为卷积神经网络的输入,卷积神经网络随后从输入向量中自动学习深度语义特征,由于标注过程中的噪音的存在,类重叠不可避免,有必要对深度语义特征进行预处理;考虑在软件缺陷预测数据集中普遍存在的类不平衡问题,对训练数据进行过采样,过采样完的数据集可能会带来更多的类重叠;从近邻出发,对多数类与少数类同时进行清理,处理潜在的重叠软件模块向量;经过预处理的深度语义特征,作为传统分类器,比如LogisticRegression分类器的输入;在LogisticRegression分类器上训练分类模型,并对测试数据集进行测试;2.基于卷积神经网络的语义特征学习模型:卷积神经网络拥有深度特征提取的能力,基于源代码使用one-hot编码以后的特征向量具有内在的语义和语法结构,通过引入CNN能够创建表征语义信息的新的深度特征向量;本文提出的基于卷积神经网络的语义特征学习模型采用的是有监督的深度语义学习范式,通过对训练数据集的优化能够生成更加适合当前项目的语义;假定当前软件项目有文件数目为n,X={x1x2,..xn},软件缺陷预测问题可以被形式化为学习任务,该学习任务从训练数据集中学习预测函数:F:X→Y,yi∈Y={1,0}1其中yi∈Y,指示软件模块是否含有软件缺陷;软件项目源文件被编码为one-hot特征向量,以one-hot特征向量输入采用预训练的word2vec模型获取词嵌入向量;对项目文件xi,其one-hot特征向量为表示为该文件中最大特征标记数目;该标记指的是具有代表性的语法树节点,同时剔除了文件中数目小于3的标记;经过word2vec模型处理完以后,得到具有固定长度的词嵌入向量,该向量为vi∈Rp×q;vi表示对应于项目文件xi的词嵌入向量;训练过的词嵌入向量作为CNN的输入,在输入方向设置多个一维卷积核,从词嵌入向量中提取单词的特征,并将输出结果输入到池化层;为了对优化过程中的参数加以约束,引入正则化,采用dropout方法在反向传播误差更新权值时候随机删除部分神经元;对池化层输出展开为全连接层,多次迭代训练得到语义特征向量;训练过程中采用minibatchstochasticgradientdescent算法,优化器选用Adamoptimizer,基于该语义特征向量来判断当前模块是否存在缺陷;3.面向深度语义学习的混合式最近邻清理策略:该策略以生成的深度语义特征向量集合为输入,根据集合中标记的不同,将样例分为Cmax和Cmin两类,算法过程大致分为三个步骤:第一个步骤是对少数类样例循环遍历,依据欧式距离选择k个最近邻,并使用随机种子数在某个样例与最近邻之间生成新的样例,迭代完成过采样,实现多数类与少数类之间的平衡,解决类不平衡问题;第二个步骤是在新生成的少数类集合C′min与多数类集合Cmax上分别进行迭代,依据欧式距离计算得到与样例最近的Nx近邻;如果该近邻的标记与当前的标记不一致,则最终删除,实现对多数类与少数类潜在类重叠模块的清理;第三个步骤是将第二个步骤的输出{C″min,C′max}作为输入,计算当前两类模块的统计分布值,使用标准K-means聚类算法划分为k簇,对每个簇进行遍历,根据当前簇两个模块的统计分布值删除对应的模块,实现对多数类与少数类潜在类重叠模块的清理。

全文数据:

权利要求:

百度查询: 江苏工程职业技术学院 一种可缓解类重叠问题的跨版本深度缺陷预测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。