掌桥专利:专业的专利平台
掌桥专利
首页

一种软件质量预测方法

文献发布时间:2023-06-19 10:08:35


一种软件质量预测方法

技术领域

本发明涉及计算机应用技术领域,尤其是涉及一种软件质量预测方法。

背景技术

近年来随着信息技术和计算机技术的发展,软件规模越来越大,软件开发过程也变得更加难以控制,同时软件失效带来的损失也越来越大,如果能在软件开发前期和开发过程中对软件质量进行预测,尽早发现有失效倾向的软件模块,可最大限度的降低软件失效的概率,提高软件开发的质量。

发明内容

有鉴于此,本发明的目的是针对现有技术的不足,提供一种软件质量预测方法,通过改进演化算法对软件质量参数数据进行准确划分,对不同属性的软件质量参数数据进行不同的处理,增加软件质量预测的准确度。

为达到上述目的,本发明采用以下技术方案:

一种软件质量预测方法,包括以下步骤:

将软件质量参数数据输入到软件质量预测模型中,所述软件质量参数数据包括高纯度聚类数据和低纯度聚类数据,所述高纯度聚类数据直接输入软件质量预测模型中,所述低纯度聚类数据通过CNN训练后输入软件质量预测模型中,所述软件质量预测模型为CNN-LSTM模型;

从所述软件质量预测模型中获取软件质量预测结果。

进一步的,所述高纯度聚类数据和低纯度聚类数据的划分步骤为:

获取软件质量参数数据,所述软件质量参数数据包括软件代码数据、计算机使用数据和软件质量管理数据;

对软件质量参数数据进行预处理,根据改进演化算法属性选择方法对软件质量参数数据进行属性聚类划分,将软件质量参数数据划分为低纯度聚类数据和高纯度聚类数据。

进一步的,所述软件代码管理数据包括新增代码行数、新增类个数和新增数据库表及字段数;所述计算机使用数据包括CPU使用率分布、内存使用率分布、储存使用情况和计算机工作时长数据;所述软件质量管理数据包括软件测试数据、软件版本数据和代码变更数据。

进一步的,根据软件质量预测结果提取预测模型特征,采用演化迭代的方式计算各软件指标的适应度值,并在演化过程中调整权重因子,根据适应度值完成输入数据的聚类划分

本发明的有益效果是:

本发明提供了一种软件质量预测方法,通过改进演化算法把数据划分为高纯度聚类数据和低纯度聚类数据,高纯度聚类数据本身具有较准确的预测率,可直接用于软件质量预测;低纯度聚类数据不具有预测属性,进一步进行训练和特征学习后再用于软件质量预测,大大增加软件质量预测的准确度。

附图说明

图1为本发明的流程示意图;

图2为软件质量参数数据种类图;

图3为CNN模型的建立流程图;

图4为软件质量预测模型的建立流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种软件预测方法,如图1所示,包括以下步骤:

S1、获取软件质量参数数据

软件质量参数数据包括软件代码数据、计算机使用数据和软件质量管理数据,如图2所示,软件代码管理数据包括新增代码行数、新增类个数和新增数据库表及字段数;计算机使用数据包括CPU使用率分布、内存使用率分布、储存使用情况和计算机工作时长数据;所述软件质量管理数据包括软件测试数据、软件版本数据和代码变更数据;

S2、对软件质量参数数据进行预处理

对S1步骤获得的软件质量参数数据进行降噪处理和主成分分析,

首先建立滤波模型,对软件质量参数采集数据进行滤波处理,通过正交变换、均值和方差计算等方式,根据输入数据的选择属性进行分析处理,直接忽略相关性较差的数据,然后对滤波处理后的数据进行归一化变换,提高深度学习算法的训练效率,最后采用特征值分解的方法对数据进行主成分分析,提高算法收敛效率。

S3、对分析结果进行聚类划分

根据改进演化算法进行属性划分,将经过预处理的软件质量参数数据分为低纯度聚类数据和高纯度聚类数据;

采用改进演化算法对软件质量预测参数数据进行属性选择和划分,根据质量预测模型构建适应度函数,软件质量参数作为染色体序列进行交叉和变异操作,迭代进行适应度值计算和选择,根据设定的属性划分阈值选择适应度值高的个体即对应的质量预测参数为高纯度聚类数据,适应度低于设定阈值的个体为低纯度数据。为克服传统演化算法局部最优和早熟的缺点,采用改进的演化算法进行属性划分,能自适应调整演化因子,保证搜索个体的全局最优性能。

S4、将高纯度聚类数据和低纯度聚类数据输入到软件质量预测模型中,输出软件质量

高纯度聚类数据本身具有较准确的预测率,可直接用于软件质量预测;

低纯度聚类数据不具有预测属性,将低纯度聚类数据输入CNN训练模型进行训练,将训练结果用于软件质量预测中。将低纯度聚类数据进行CNN卷积计算,卷积核可以视为一个窗口,在时间序列数据上进行平移,提取局部序列段与权重进行点乘,持续不断输出计算得到的序列特征。输出的特征结果再进行下一步的池化下采样,进一步过滤数据中对于预测无益的噪声信息,使得预测性能得到优化,模型通过反向传播误差信息进行迭代权重更新,让卷积内核中的权重、LSTM中的参数信息及Dense层中的参数不断优化直至收敛,完成模型的训练过程,建立CNN模型,建立步骤如图3所示。

随着软件开发模块增多,软件质量变化有着非线性变化趋势,因此预测软件质量有一定的难度,使用长短期记忆神经网络(LSTM)模型会引入与质量预测毫无益处的噪声,还会受到数据中较大值和较小值的影响,导致无法达到很好的预测效果;而单独使用CNN模型,虽然可以对每一段时间序列进行卷积计算,很好地提取软件质量参数的局部特征,但CNN对软件设计的时间顺序并不敏感,不能很好地单独完成预测的任务,结合CNN模型的特征提取能力和LSTM模型对时间序列数据的敏感性,构建了CNN与LSTM的融合模型来进行软件质量预测,称为CNN-LSTM模型,软件质量预测模型的建立步骤如图4所示。

将高纯度聚类数据和经过提取的低纯度聚类数据输入到软件质量预测模型中,输出软件质量,软件的质量为输出的综合评价指标量化结果分值,对软件代码复杂度、占用存储空间、可靠性、易使用性等进行占比计算后的输出量化值。

S5、根据软件质量预测结果对软件质量预测模型的模型特征进行提取,将提取的模型特征作为软件质量参数聚类划分的依据。

提取的特征为:软件预测准确率、函数调用指标、过程控制流程指标等。将提取的特征作为属性聚类划分的依据,根据提取的预测模型特征,采用演化迭代的方式计算各软件指标的适应度值,并在演化过程中调整权重因子,根据适应度值完成输入数据的聚类划分。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

相关技术
  • 一种软件质量预测方法
  • 基于特征频度数据挖掘的软件质量预测方法
技术分类

06120112437479