基于P-K的软件缺陷预测方法、装置、电子设备及介质制造方法及图纸

技术编号:33297469 阅读:15 留言:0更新日期:2022-05-06 12:01
本申请公开了一种基于P

【技术实现步骤摘要】
基于P-K的软件缺陷预测方法、装置、电子设备及介质


[0001]本专利技术涉及软件测试及数据挖掘领域,更具体地,涉及一种基于P-K的软件缺陷预测方法、装置、电子设备及介质。

技术介绍

[0002]从1970年开始,软件缺陷预测技术开始发展;随着软件系统规模变得越来越大,逻辑日趋复杂,软件缺陷也势必增加,影响软件质量,由于软件缺陷预测帮助测试人员了解软件的状态和质量,帮助制定交付标准,所以软件缺陷的预测也变得重要起来。
[0003]目前,软件缺陷预测分为静态和动态两种预测方法。随着软件迭代更新次数以及同类软件的增多,基于软件历史开发数据及发现的缺陷数,进行缺陷数目、类型、分布的预测成为一种切实可行方法。研究指出影响缺陷预测有3个因素,度量元的选取、缺陷预测模型的构建方法和数据集。也就是根据缺陷相关的度量元数据(代码行数、类数、方法数等),选择适当预测模型,选择适当的数据集可以有效的提高缺陷预测的转去额度。本文就基于以上静态缺陷预测方法展开研究。
[0004]怎么样从大量的开发历史数据中找到与缺陷相关的数据,也就是度量元选取问题变成首要问题,这就涉及到数据挖掘领域。现在主要运用的是PCA,LDA,LLE以及ICA等方法。其中PCA(Principle Component Analysis),主成分分析法,常用于提取数据的主要特征分量,用来对高维数据进行降维,提高运算效率。
[0005]对于静态软件缺陷预测技术,有分类、回归和基于神经网络的贝叶斯、CNN、DNN等方法,这就涉及预测模型选取问题。由于基于复杂神经网络训练模型的时间会较长,对机器性能要求较高,所以本文暂不探索研究。KNN(k-NearestNeighbor),k最近邻是监督型分类器,对有标记的数据进行训练得到模型,根据此模型对新的数据进行预测,得到标签(label)。
[0006]因此,有必要开发一种基于PCA-KNN的软件缺陷预测方法、装置、电子设备及介质。
[0007]公开于本专利技术
技术介绍
部分的信息仅仅旨在加深对本专利技术的一般
技术介绍
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

技术实现思路

[0008]本专利技术提出了一种基于P-K的软件缺陷预测方法、装置、电子设备及介质,其能够解决了度量元的维数问题,较好的解决软件缺陷预测的准确度,为软件缺陷预测提供可行方法,能够对软件系统做出缺陷数目预测,为制定软件测试计划提供参考指标,更好的规划人力和时间。
[0009]第一方面,本公开实施例提供了一种基于P-K的软件缺陷预测方法,包括:
[0010]收集软件历史缺陷数据,将所述软件历史缺陷数据划分为训练数据集与测试数据集;
[0011]针对所述训练数据集内的度量元进行降维,获得特征向量;
[0012]根据降维后的训练数据集与所述特征向量,进行KNN分类训练;
[0013]调整降维参数与KNN参数,获得最优模型;
[0014]根据所述最优模型,针对所述测试数据集内的度量元进行降维,并进行KNN分类训练,预测所述测试数据集的缺陷。
[0015]优选地,针对所述训练数据集内的度量元进行降维,获得特征向量包括:
[0016]通过PCA主成分分析技术,将高维数据进行特征选择,去冗余,获得前k个特征值对应的特征向量。
[0017]优选地,将高维数据进行特征选择之前,先针对所述高维数据进行标准化处理。
[0018]优选地,所述最优模型包括最优降维参数与最优KNN参数。
[0019]优选地,根据所述最优模型,针对所述测试数据集内的度量元进行降维,并进行KNN分类训练,预测所述测试数据集的缺陷包括:
[0020]根据所述最优降维参数针对所述测试数据集内的度量元进行降维,根据所述最优KNN参数进行KNN分类训练,预测所述测试数据集的缺陷。
[0021]优选地,还包括:
[0022]针对测试数据集的预测缺陷与实际缺陷进行对比,评价所述最优模型。
[0023]优选地,所述训练数据集与所述测试数据集的数据比例为7:3。
[0024]作为本公开实施例的一种具体实现方式,
[0025]第二方面,本公开实施例还提供了一种基于P-K的软件缺陷预测装置,包括:
[0026]数据集划分模块,收集软件历史缺陷数据,将所述软件历史缺陷数据划分为训练数据集与测试数据集;
[0027]降维模块,针对所述训练数据集内的度量元进行降维,获得特征向量;
[0028]训练模块,根据降维后的训练数据集与所述特征向量,进行KNN分类训练;
[0029]最优模型建立模块,调整降维参数与KNN参数,获得最优模型;
[0030]预测模块,根据所述最优模型,针对所述测试数据集内的度量元进行降维,并进行KNN分类训练,预测所述测试数据集的缺陷。
[0031]优选地,针对所述训练数据集内的度量元进行降维,获得特征向量包括:
[0032]通过PCA主成分分析技术,将高维数据进行特征选择,去冗余,获得前k个特征值对应的特征向量。
[0033]优选地,将高维数据进行特征选择之前,先针对所述高维数据进行标准化处理。
[0034]优选地,所述最优模型包括最优降维参数与最优KNN参数。
[0035]优选地,根据所述最优模型,针对所述测试数据集内的度量元进行降维,并进行KNN分类训练,预测所述测试数据集的缺陷包括:
[0036]根据所述最优降维参数针对所述测试数据集内的度量元进行降维,根据所述最优KNN参数进行KNN分类训练,预测所述测试数据集的缺陷。
[0037]优选地,还包括:
[0038]针对测试数据集的预测缺陷与实际缺陷进行对比,评价所述最优模型。
[0039]优选地,所述训练数据集与所述测试数据集的数据比例为7:3。
[0040]第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
[0041]存储器,存储有可执行指令;
[0042]处理器,所述处理器运行所述存储器中的所述可执行指令,以实现所述的基于P-K的软件缺陷预测方法。
[0043]第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现所述的基于P-K的软件缺陷预测方法。
[0044]本专利技术的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本专利技术的特定原理。
附图说明
[0045]通过结合附图对本专利技术示例性实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本专利技术示例性实施例中,相同的参考标号通常代表相同部件。
[0046]图1示出了根据本专利技术的一个实施例的基于P-本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于P-K的软件缺陷预测方法,其特征在于,包括:收集软件历史缺陷数据,将所述软件历史缺陷数据划分为训练数据集与测试数据集;针对所述训练数据集内的度量元进行降维,获得特征向量;根据降维后的训练数据集与所述特征向量,进行KNN分类训练;调整降维参数与KNN参数,获得最优模型;根据所述最优模型,针对所述测试数据集内的度量元进行降维,并进行KNN分类训练,预测所述测试数据集的缺陷。2.根据权利要求1所述的基于P-K的软件缺陷预测方法,其中,针对所述训练数据集内的度量元进行降维,获得特征向量包括:通过PCA主成分分析技术,将高维数据进行特征选择,去冗余,获得前k个特征值对应的特征向量。3.根据权利要求2所述的基于P-K的软件缺陷预测方法,其中,将高维数据进行特征选择之前,先针对所述高维数据进行标准化处理。4.根据权利要求1所述的基于P-K的软件缺陷预测方法,其中,所述最优模型包括最优降维参数与最优KNN参数。5.根据权利要求4所述的基于P-K的软件缺陷预测方法,其中,根据所述最优模型,针对所述测试数据集内的度量元进行降维,并进行KNN分类训练,预测所述测试数据集的缺陷包括:根据所述最优降维参数针对所述测试数据集内的度量元进行降维,根据所述最优KNN参数进行KNN分类训练,...

【专利技术属性】
技术研发人员:王婷婷
申请(专利权)人:中国石油化工股份有限公司石油物探技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1