专利汇可以提供一种跨项目软件缺陷预测方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种跨项目 软件 缺陷 预测方法,涉及 数据处理 技术领域。针对 软件缺陷 预测过程经常受阻、且往往会出现类别分布 不平衡 的问题,采用方案基于TextCNN和Borderline-SMOTE 算法 ,包括训练阶段和预测阶段。在训练阶段,基于Java源文件的已知维度特征、语义信息特征、以及存在的软件缺陷,进行Word2vec模型、TextCNN、逻辑回归分类器的训练,在预测阶段,则直接利用训练好的Word2vec模型、TextCNN、逻辑回归分类器的进行目标Java源文件的预测,并最终预测输出目标Java源文件的软件缺陷数量。本发明的预测方法提高了预测的准确率和提高训练速度,不仅限于对同项目的软件缺陷进行预测,还可以用于跨项目的软件缺陷进行预测。,下面是一种跨项目软件缺陷预测方法专利的具体信息内容。
1.一种跨项目软件缺陷预测方法,其特征在于,其包括训练阶段和预测阶段;
所述训练阶段包括:
Ⅰ)提取Java源文件的原始多维特征,并对每一个Java源文件进行标记;
Ⅱ)将Java源文件解析成抽象语法树,抽取抽象语法树的相关节点形成单词文件;
Ⅲ)训练Word2vec模型,利用Word2vec模型对单词进行向量化,形成词向量;
Ⅳ)已知Java源文件包含的语义信息,提取Java源文件所包含语义信息的特征,基于词向量和提取的特征训练TextCNN;
Ⅴ)组合包含Java源文件语义信息的特征和Java源文件的原始多维特征,形成新特征向量;
Ⅵ)利用Borderline-SMOTE算法对组合后的新特征向量进行不平衡处理;
Ⅶ)不平衡处理后的新特征向量和Java源文件具有的软件缺陷数量作为训练样本,利用训练样本训练逻辑回归分类器;
所述预测阶段包括:
Ⅰ)提取目标Java源文件的原始多维特征,并对每一个目标Java源文件进行标记;
Ⅱ)将目标Java源文件解析成抽象语法树,抽取抽象语法树的相关节点形成单词文件;
Ⅲ)利用Word2vec模型对单词进行向量化,形成词向量;
Ⅳ)利用TextCNN对词向量进行包含语义信息的特征提取;
Ⅴ)组合包含语义信息的特征和目标Java源文件的原始多维特征,形成新特征向量;
Ⅵ)利用Borderline-SMOTE算法对组合后的新特征向量进行不平衡处理;
Ⅶ)将不平衡处理后的新特征向量输入逻辑回归分类器,逻辑回归分类器输出预测目标Java源文件的软件缺陷数量。
2.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于,借助Ckjm、BugInfo工具提取Java源文件/目标Java源文件的多维特征,并对每一个Java源文件/目标Java源文件进行标记。
3.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于,利用Python中的Javalang工具包将Java源文件/目标Java源文件解析成抽象语法树,随后,抽取抽象语法树中相应的控制节点、函数调用节点、实例创建节点,进而形成一个以空格为分隔符的单词文件。
4.根据权利要求2所述的一种跨项目软件缺陷预测方法,其特征在于,利用gensim中的Word2vec模型对单词进行向量化,形成多维词向量,且多维词向量的维度大于所提取Java源文件的多维特征的维度。
5.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于,已知Java源文件包含的语义信息,提取Java源文件所包含语义信息的特征,基于词向量和提取的特征训练TextCNN,训练过程具体包括:
1)给定一个Java源文件的标记向量,其中标记向量中的每个单词xi∈Rk对应标记向量中的第i个节点的k维词向量;
2)把标记向量中的单词对应的词向量进行连接操作即 表示简
单的连接操作,更一般化的让 获得一个词向量矩阵;
3)假定有一个卷积核Filter w∈Rhk,利用公式A计算产生一个新的特征ci,ci=f(w·xi:i+h-1+b) 公式A
其中,xi:i+h-1表示通过某个窗口的词,w表示卷积核,b是一个标量值,表示偏置f是个非线性函数;
4)基于卷积神经网络构建TextCNN,卷积神经网络的卷积核Filterw∈Rhk在词向量矩阵一步一步下滑,从而产生一个特征图c=[c1,c2,...,cn-h+1];
5)利用Max-pooling操作,在产生的特征图上进行最大池化操作,分别得到一个对应特hk
征图中最具代表性的特征,该具有代表性的特征通常为卷积核Filter w∈R 所产生的特征图上的最大值
6)把所有最具代表性的特征进行concatenate操作,卷积核的输出层输出concatenate操作后的结果,与已知Java源文件所包含语义信息的特征进行比较,获得损失函数,借助反向传播算法对所构建TextCNN的参数进行迭代更新;
7)选取不同的Java源文件,重复步骤1)-6),多次训练得到TextCNN。
6.根据权利要求5所述的一种跨项目软件缺陷预测方法,其特征在于,在步骤6)中,把所有最具代表性的特征进行concatenate操作后,可以在卷积核的池化层和输出层添加一个Dropout层,Dropout层和Softmax层进行全连接,随后卷积核的输出层再输出结果与已知Java源文件所包含语义信息的特征进行比较。
7.根据权利要求5所述的一种跨项目软件缺陷预测方法,其特征在于,基于卷积神经网络构建TextCNN,卷积神经网络的多个卷积核Filterw∈Rhk在词向量矩阵一步一步下滑,从而产生一个特征图c=[c1,c2,...,cn-h+1] 。
8.根据权利要求5所述的一种跨项目软件缺陷预测方法,其特征在于,所述TextCNN的卷积神经网络基于N种不完全相同的卷积核,并生成N个通道的feature map,每个卷积核的宽度相同,每个卷积核的长度不一定相同。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种基于数据筛选和数据过采样的跨项目缺陷预测方法 | 2020-05-11 | 254 |
一种基于缺陷规则和分类反馈的缺陷发现方法 | 2020-05-16 | 59 |
一种基于测试案例的测试方法、装置、存储介质和服务器 | 2020-05-13 | 129 |
用于应用中的错误诊断的方法、装置和计算机存储介质 | 2020-05-08 | 511 |
面向软件缺陷类分布不平衡的规则学习分类器集成方法 | 2020-05-14 | 327 |
一种针对Java语言的软件缺陷检测与提取方法 | 2020-05-12 | 891 |
一种基于卷积神经网络的软件缺陷定位方法、装置和介质 | 2020-05-19 | 683 |
一种软件缺陷检测方法、装置、计算机设备和存储介质 | 2020-05-08 | 730 |
一种软件的开发方法及开发系统 | 2020-05-08 | 262 |
一种基于度量技术的计量终端软件质量量化评价方法 | 2020-05-20 | 611 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。