面向软件失效检测和纠正双过程的可靠性预测方法及系统技术方案

技术编号:38219225 阅读:9 留言:0更新日期:2023-07-25 11:30
本发明专利技术公开一种面向软件失效检测和纠正双过程的可靠性预测方法及系统,涉及软件可靠性预测技术领域。本发明专利技术通过模型的构建、训练和预测得到一种基于TCN

【技术实现步骤摘要】
面向软件失效检测和纠正双过程的可靠性预测方法及系统


[0001]本专利技术涉及软件可靠性预测
,特别是涉及一种面向软件失效检测和纠正双过程的可靠性预测方法及系统。

技术介绍

[0002]当下软件愈发复杂,由于人类脑力存在的固有局限性使得软件中不可避免地会残存缺陷。软件可靠性模型是进行评估和预测软件可靠性的重要工具。在软件试运行或测试过程中,软件失效首先被检测到,然后被纠正,进而提高软件可靠性。失效检测过程和失效纠正过程均为提升软件可靠性的重要环节。但由于软件日趋复杂,软件失效的报告、定位与纠正和软件失效检测之间会存在延迟,因此,软件失效检测过程和软件失效纠正过程是相关、但不同的两个过程。在评估和预测软件可靠性时,不仅要考虑软件失效检测过程,同时也要考虑软件失效纠正过程。
[0003]软件可靠性模型包括参数模型和非参数模型两大类。参数模型需要设置假设条件,而假设条件往往与实际情况不一致,影响了参数模型的预测精度和适用性。迄今为止,尚没有一个参数模型能够适用于所有不同的软件项目。基于数据驱动的非参数模型能够克服假设条件与实际情况不一致的局限性。软件失效数据具有时间序列数据的特点,因此数据驱动的时间序列建模方法对基于失效数据建立非参数可靠性模型具有重要意义。时间序列建模方法主要包含基于统计学的建模方法和基于机器学习的建模方法,后者与前者相比,对数据的平稳性要求更低,在预测效果和使用范围方面更为优异。深度学习是更深层次的机器学习,其中循环神经网络(RNN)、长短时记忆网络(LSTM)和门控循环单元(GRU)方法是常用的软件可靠性建模的深度学习方法。这些方法都基于循环结构,该结构使得方法能够有效保持时间序列的信息,但缺点是该结构使得方法容易出现梯度消失、梯度爆炸和长期依赖的问题,并且,由于无法支持并行输入,使得这些方法在训练时间和成本上也存在不足。此外,失效被检测之后的纠正过程也是软件可靠性的重要影响因素,但大部分基于深度学习的软件可靠性模型仅考虑了失效检测过程,却未给予失效纠正过程相同程度的关注。
[0004]因此,现有的软件可靠性预测模型主要存在以下三点不足:
[0005]第一,软件可靠性参数模型需要设置假设条件,研究者只能缩小假设条件和实际情况的差距,但无法完全消除这种差距,导致了软件可靠性参数模型的适用性和预测精度不强;
[0006]第二,软件可靠性非参数模型依据的深度学习方法大多基于循环结构,在梯度消失、梯度爆炸、长期依赖及训练成本等方面存在不足;
[0007]第三,软件可靠性非参数模型依据的深度学习方法大多只考虑了软件失效检测过程,而未考虑软件失效纠正过程。

技术实现思路

[0008]为解决现有技术存在的上述缺点,本专利技术提供了一种面向软件失效检测和纠正双
过程的可靠性预测方法及系统。
[0009]为实现上述目的,本专利技术提供了如下方案:
[0010]一种面向软件失效检测和纠正双过程的可靠性预测方法,包括:
[0011]获取软件运行过程中的历史数据集;所述历史数据集为包括软件累积失效检测数据集和软件累积失效纠正数据集的双过程数据集;所述软件累积失效检测数据集包括每个时间点检测到的软件失效数据;所述软件累积失效纠正数据集包括每个时间点纠正的软件失效数据;
[0012]构建TCN

SE模型;所述TCN

SE模型包括多个基本单元,最后一个基本单元的输出通道数等于整个TCN

SE模型的输入的维度;每一所述基本单元包括两个依次连接的基本模块;在每一所述基本单元中,其输入数据与最后一个基本模块的输出数据进行残差连接;每一所述基本模块均包括:膨胀因果卷积层、Relu激活函数层、SE层和Dropout层;
[0013]对所述历史数据集进行预处理,并基于预处理后的所述历史数据集生成训练集和测试集;
[0014]采用所述训练集和所述测试集对所述TCN

SE模型进行训练和测试,直至训练和测试后的所述TCN

SE模型满足设定要求时,将满足设定要求的所述TCN

SE模型作为软件可靠性预测模型;
[0015]获取待检测软件的运行过程数据,并对所述运行过程数据进行预处理得到预处理数据;
[0016]将所述预处理数据输入至软件可靠性预测模型得到待检测软件的可靠性预测结果。
[0017]可选地,所述SE层包括依次连接的平均池化层、第一个全连接层、Relu激活函数层、第二个全连接层和Sigmoid激活函数层。
[0018]可选地,所述预处理包括标准化处理和滑动窗口处理。
[0019]可选地,所述标准化处理采用z

score方法。
[0020]可选地,所述设定要求为训练误差和所述测试误差均小于设定值,且所述训练误差和所述测试误差间的差值小于设定差值;所述训练误差为采用所述训练集训练所述TCN

SE模型过程中产生的差值;所述测试误差为采用所述测试集测试所述TCN

SE模型过程中产生的差值。
[0021]可选地,所述训练误差和所述预测误差是指利用损失函数将预测值与真实值进行比较后计算出的双过程损失,为:
[0022][0023]其中,loss为双过程损失,y
di
、y
ci
分别表示到时间点t
i
为止收集到的累计失效检测数和累计失效纠正数的观测值,分别表示时间点t
i
的累计失效检测数和累计失效纠正数的预测值,当计算训练误差时,t
M
为第一个训练数据的目标值的时间点,即w+1,w为滑动窗口大小,t
N
为训练集最后一个训练数据的目标值的时间点;当计算测试误差时,t
M
为测试集第一个测试数据的目标值的时间点,t
N
为测试集最后一个测试数据的目标值的时间点,i=M,...,N。
[0024]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0025]本专利技术提供的面向软件失效检测和纠正双过程的可靠性预测方法,通过模型的构建、训练和预测得到一种基于TCN

SE的面向软件失效检测和纠正双过程的软件可靠性预测模型。其中,通过利用因果膨胀卷积层和残差连接能够捕获待检测软件运行过程中时间序列数据的因果关系,实现对输入的并行处理。SE层能够动态地调整分配每个通道的权重,增强软件可靠性预测对不同任务和数据集的适应性,进而提高模型的表征学习能力和预测精度。此外,由于SE层参数少,将其引入时域卷积网络不会显著增加计算成本,能够弥补现有技术在梯度消失、梯度爆炸、长期依赖及训练成本等方面存在的不足。
[0026]本专利技术还提供了一种面向软件失效检测和纠正双过程的可靠性预测系统,包括:
[0027]数据采集器,用于实时采集待检测软件的运行过程数据;
[0028]存储器,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向软件失效检测和纠正双过程的可靠性预测方法,其特征在于,包括:获取软件运行过程中的历史数据集;所述历史数据集为包括软件累积失效检测数据集和软件累积失效纠正数据集的双过程数据集;所述软件累积失效检测数据集包括每个时间点检测到的软件失效数据;所述软件累积失效纠正数据集包括每个时间点纠正的软件失效数据;构建TCN

SE模型;所述TCN

SE模型包括多个基本单元;每一所述基本单元包括两个依次连接的基本模块;在每一所述基本单元中,其输入数据与最后一个基本模块的输出数据进行残差连接;每一所述基本模块均包括:膨胀因果卷积层、Relu激活函数层、SE层和Dropout层;对所述历史数据集进行预处理,并基于预处理后的所述历史数据集生成训练集和测试集;采用所述训练集和所述测试集对所述TCN

SE模型进行训练和测试,直至训练和测试后的所述TCN

SE模型满足设定要求时,将满足设定要求的所述TCN

SE模型作为软件可靠性预测模型;获取待检测软件的运行过程数据,并对所述运行过程数据进行预处理得到预处理数据;将所述预处理数据输入至软件可靠性预测模型得到待检测软件的可靠性预测结果。2.根据权利要求1所述的面向软件失效检测和纠正双过程的可靠性预测方法,其特征在于,所述SE层包括依次连接的平均池化层、第一个全连接层、Relu激活函数层、第二个全连接层和Sigmoid激活函数层。3.根据权利要求1所述的面向软件失效检测和纠正双过程的可靠性预测方法,其特征在于,所述预处理包括标准化处理和滑动窗口处理。4.根据权利要求3所述的面向软件失效检测和纠正双过程的可靠性预测方法,其特征在于,所述标准化处理采用z

score方法。5.根据权利要求1所述的面向软件失效检测和纠正双过程的可靠性预测方法,其特征在于,所述设定要求为训练误差和所述测试误差均小于设定值,且所述训练误差和所述测试误差间的差值小于设定差值;所述训练误差为采用所述训练集训练所述TCN

SE模型过程中产生的差值;所述测试误差为采用所述测试集测试所述TCN

SE模型过程中产生的差值。6.根据权利要求5所述的面向软件失效检测和纠正双过程的可靠性预测方法,其特征在于,所述训练误差和所述预测误差是指利用损失函数将预测值与真实值进行比较后计算出的双过程损失,为:其中,loss为双过程损失,y
di
、y
ci
分别表示到时间点t
i
为止收集到的累计失效检测数和累计失效...

【专利技术属性】
技术研发人员:李秋英文玉林
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1