软件可靠性加速测试的失效数据还原方法及测试方法与流程

文档序号:16536330发布日期:2019-01-08 19:56阅读:192来源:国知局
软件可靠性加速测试的失效数据还原方法及测试方法与流程
本发明涉及软件可靠性评估
技术领域
,尤其是涉及一种软件可靠性加速测试的失效数据还原方法及测试方法。
背景技术
:许多关键领域对软件的可靠性要求越来越高,为了评定软件的可靠性水平,需要在用户的真实使用环境(正常应力水平)下进行软件可靠性测试。但许多高可靠软件的寿命是很长的,不容易发生失效,在正常应力水平下进行数万或者数十万小时的可靠性测试也未必会发生失效。为了评估软件的可靠性,需要进行很长时间的测试才能收集到一定数量的失效数据,这不仅加大了测试的资源消耗,而且通常这么长的时间也是无法令人接受的。软件可靠性加速测试是指在不改变软件失效机理的情况下,通过提高外界应力水平,劣化软件的运行环境,从而加快软件失效过程的软件可靠性测试方法。近年,有研究使用故障注入手段向操作系统注入故障加速软件失效过程,在一定情况下加快了高可靠软件可靠性测试的速度,但如何将加速测试过程中收集到的高应力水平下的失效数据还原到正常应力水平进而开展可靠性评估工作,却并没有一种切实可行的方法。因此,需要一种有效的失效数据还原方法,以提高软件可靠性评估的准确性。技术实现要素:本发明的目的就是为了克服上述现有技术存在解决高可靠软件可靠性测试时间成本过高和失效数据难以还原的缺陷而提供一种软件可靠性加速测试的失效数据还原方法及测试方法。本发明的目的可以通过以下技术方案来实现:一种软件可靠性加速测试的失效数据还原方法,包括以下步骤:1)构造多组高应力水平,在各高应力水平下进行若干次被测软件的加速寿命试验;2)采集各高应力水平下的失效时间序列,计算对应的平均失效时间;3)对各高应力水平及对应的平均失效时间进行拟合,获得应力水平与平均失效时间的关系函数;4)基于所述关系函数获得正常应力水平下的平均失效时间;5)计算各高应力水平与正常应力水平对应的平均失效时间的比例关系;6)基于所述比例关系将步骤2)采集的各高应力水平下的失效时间序列还原到正常应力水平下,获得正常应力水平下的失效时间序列。进一步地,所述高应力水平使用故障模式序列构造,故障模式序列由若干种故障模式按顺序组成,每个故障模式设有一个应力水平值,故障模式序列的应力水平值为组成它的各个故障模式应力水平值的和。进一步地,所述故障模式对应的应力水平值通过以下公式获得:vs=a*ln(rpn+b)其中,rpn为故障模式的风险优先数,vs为应力水平值,a为放大参数,b为调整参数。进一步地,各高应力水平下进行被测软件的加速寿命试验的次数大于或等于10。进一步地,所述步骤2)中,计算平均失效时间时,对于未失效的加速寿命试验按定时截尾时间计算。进一步地,所述步骤3)中,采用多种拟合模型对各高应力水平及对应的平均失效时间进行拟合,根据决定系数最大的一种拟合模型获得最终的关系函数,所述决定系数r2的计算公式为:其中,ssres为残差平方和,sstot为总平方和。进一步地,所述拟合模型包括线性模型、多项式模型、指数模型、对数模型或乘幂模型。进一步地,所述步骤6)使用的还原函数为:其中,tij为第i个高应力水平下的第j次加速寿命试验的失效数据,为tij在正常应力水平下的映射值,pi为第i个高应力水平与正常应力水平对应的平均失效时间的比例关系。本发明还提供一种软件可靠性加速测试方法,以所述的失效数据还原方法获得的正常应力水平下的失效时间序列,作为失效数据,利用一软件可靠性模型对所述失效数据进行分析,获得软件可靠性评估结果。与现有技术相比,本发明具有以下有益效果:1、本发明通过构造应力水平与平均失效时间的关系函数,将高应力水平下的失效数据映射至正常应力水平,步骤合理,可以有效地加快高可靠软件可靠性测试的速度,解决了高可靠软件可靠性测试时间成本过高的问题;2、本发明可以使用若干种假设函数以较高的拟合优度将高应力水平下收集到的失效数据还原到正常应力水平下的失效数据,极大缩减了高可靠软件可靠性测试的测试时间,为高可靠软件可靠性评估提供了一种有效的新途径。附图说明图1为本发明的流程示意图;图2为本发明的故障注入及失效数据收集方案示意图。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。如图1所示,本发明提供一种软件可靠性加速测试的失效数据还原方法,用于对软件可靠性加速测试过程中收集到的失效数据进行还原,包括以下步骤:步骤一、构造k组高应力水平si,i=1,…,k。本发明中,使用故障故障模式序列构造应力集,该应力集代表一个应力水平。故障模式序列由若干种故障模式按顺序构成,每个故障模式设有一个应力水平值属性,可以称为该故障模式的应力值,其值为故障模式的风险优先数(rpn)经过对数函数标准化后得到,使用式vsi=a*ln(rpni+b)来确定应力的量化值(vs),a为放大参数,b为调整参数,通过调整b的取值使得正常应力水平对应vs0的值取1,故障模式序列的应力水平值为组成它的各个故障模式应力水平值的和·。步骤二、在k组高应力水平si下分别进行若干次被测软件的加速寿命试验。为了提高可靠性,每组应力水平下的试验次数应大于等于10次。步骤三、收集各组应力水平si下的失效时间序列,并按从小到大顺序排列,以更加符合真实情况,让失效出现的时间符合“逐个被发现”的逻辑。步骤四、计算各组应力水平si下的平均失效时间(未失效的按定时截尾时间计算)计算方法如式tij为第i组应力水平下的第j次寿命试验收集到的失效数据,ni为第i组应力水平下的总试验次数。步骤五、使用合适的假设函数t=h(s;θ)以应力水平和平均失效时间作为样本进行最小二乘拟合,获得应力水平与平均失效时间的关系函数。合适的假设函数包括线性模型f(x)=θ+θ1x、多项式模型f(x)=θ+θ1x+θ2x2+θ3x3+…、指数模型对数模型f(x)=θ1ln(x)+θ2、乘幂模型步骤六、使用拟合得到的关系函数计算正常应力水平s0下的平均失效时间t0。步骤七、计算各应力水平与正常应力水平下平均失效时间的比例关系,表示为式步骤八、使用以上比例关系将各应力水平下收集到的失效时间还原到正常应力水平,还原函数如式其中为tij在正常应力水平下的映射值。步骤九、将上一步得到的失效时间合并成一个失效数据集并按从小到大顺序排列,得到还原后的最终失效数据序列。实验:采用freescale公司生产的mpc8308_rdb作为硬件平台,操作系统采用比较稳定的2.6.29-rt24实时操作系统。使用一个简单pid电机控制程序作为待评估软件,它的基本功能包括数值计算、通信、多线程处理、读写文件。工作负载为一系列电机转速和转向控制命令,内容写在一个测试脚本中,循环运行测试脚本保证pid电机控制程序持续运行。故障注入及失效数据收集方案如图2所示,故障注入器可以根据指定的故障模式向系统调用注入故障,以此劣化被测软件的运行环境,加速被测软件的失效数据的获取。失效数据收集器将获取的失效数据反馈给故障注入工具,并写入失效数据库中,以供可靠性评估之用。为了在一定应力水平下进行软件可靠性测试,需要控制被测软件运行环境的应力水平,这通过故障注入工具生成的故障注入方案指导故障注入器实现。故障注入方案指导故障注入器根据需要注入具有一定应力水平的故障模式序列。本实验设计了五种应力水平,本实施例中,a的取值为100,b的取值为1.0233,各应力水平的量化值如表1所示。表1风险优先数及其对应的应力水平值应力水平标识rpnvsis001.00s1200230.32s2400260.32s3600277.89s4800290.36s51000300.04为保证失效数据具有较好的统计意义,在以上五个应力水平下(不包括正常应力平s0)分别进行100次恒加加速应力寿命试验(设置较多的试验次数可以保证在同一应力水平下,失效次数和失效时间更具代表性),采用定时截尾试验(定时长度为1000秒),得到五组应力水平下的失效时间数据,记为fdata1~fdata5。第一组试验的应力水平大小为230.32,共检测到20次失效,平均失效时间(平均寿命)为814.55秒,fdata-1的内容如表2所示,其中“---”表示在定时截尾试验的试验时间范围内未检测到失效。表2s1应力水平下加速寿命试验的失效时间数据(fdata-1)第二组试验的应力水平大小为260.32,共检测到38次失效,平均失效时间为667.19秒,fdata-2的内容如表3所示。表3s2应力水平下加速寿命试验的失效时间数据(fdata-2)第三组试验的应力水平大小为277.89,共检测到41次失效,平均失效时间、630.09秒,fdata-3的内容如表4所示。表4s3应力水平下加速寿命试验的失效时间数据(fdata-3)第四组试验的应力水平大小为290.36,共检测到60次失效,平均失效时间为465.77秒,fdata-4的内容如表5所示。表5s4应力水平下加速寿命试验的失效时间数据(fdata-4)第五组试验的应力水平大小为300.04,共检测到60次失效,平均失效时间为452.14秒,fdata-5的内容如表6所示。表6s5应力水平下加速寿命试验的失效时间数据(fdata-5)从以上实验数据可以看出,随着应力水平的增大,检测到的失效数量越来越多,但达到一定程度后增幅就会变缓,这与预期的情况一致。各应力水平及其对应的平均失效时间如表7所示。表7各应力水平及其对应的平均失效时间表应力水平标识应力大小平均失效时间(s)s01.00---s1230.32814.55s2260.32667.19s3277.89630.09s4290.36465.77s5300.04452.14使用步骤五中提供的假设函数可以得到应力水平与平均失效时间关系的拟合结果,结果如表8所示。表8应力水平与平均失效时间关系的拟合结果表拟合线型r2线性0.94指数0.9073对数0.9312多项式(3项)0.9532多项式(4项)0.9999乘幂0.9072表8中r2为决定系数,也称为拟合优度,在统计学中用来解释自变量与因变量之间相关程度,它的值越接近1,表示相关的表达式的参考价值越高,在简单线性回归中,拟合优度为样本相关系数的平方。假设数据集的观测值为x1,x2,...,xn,模型预测值为x′1,x′2,...,x′n,于是可以由式得到总平方和,由式得到残差平方和,由式得到决定系数。表8中拟合线型为4项多项式的拟合表达式的决策系数最优,拟合后得到的函数为f(x)=0.0004x4-0.4729x3+190.14x2-33868x+2e6,因此选取它作为失效数据还原模型。计算后可以得到各应力水平下平均失效时间的比例关系,比例关系如表9所示,于是将各组高应力水平下获取的失效数据按比例折算到正常应力水平,折算后共计得到219个失效数据。表9各应力水平下平均失效时间的比例关系在得到正常应力水平下的失效数据后,可以将其视为常规软件可靠性测试中收集到的失效数据进行使用,其用途可用于但不限于软件可靠性评估,此处我们选择一个常用的软件可靠性模型对失效数据进行分析,使用schneidewind模型进行软件可靠性评估,得到软件的失效率为0.000001021,平均失效前时间为980236秒(约11天)。上述实验证明了本发明方法的有效性。以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本
技术领域
中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1