一种改进的NHPP软件可靠性模型

2015-03-31 19:17滕士波
现代电子技术 2015年5期
关键词:成正比软件可靠性错误

滕士波

摘 要: 软件可靠性模型是定量评估软件质量的重要手段,通过综合分析软件故障检测率及故障引入率建立改进的NHPP软件可靠性模型,并对可靠度进行分析,证明所提模型的有效性,最后通过对现有的数据进行分析,并与经典模型进行比较,证明所提模型的优良性。

关键字: NHPP; 软件可靠性模型; 故障引入率; 最小误差平方和

中图分类号: TN710?34 文献标识码: A 文章编号: 1004?373X(2015)05?0123?02

Improved reliability model for NHPP software assessment

TENG Shi?bo

(Jiangsu Automation Research Institute, Lianyungang 222061, China)

Abstract: Software reliability model is an important method for software quality quantitative assessment. An improved re?liability model of NHPP software is built by analyzing software fault detection rate and fault introducing rate. Its reliability is analyzed to prove the validity of the model mentioned above. The excellent characteristics of the improved model were proved by analyzing the available data and comparing with the classic model.

Keywords: NHPP; software reliability model; fault introducing rate; least sum of square error

0 引 言

NHPP类软件可靠性模型是最常见并且应用最广泛的软件可靠性模型,大多数NHPP类软件可靠性模型通过分析软件总故障数及故障检测率来求得软件可靠度,文献[1]通过综合分析软件运行覆盖率及测试人员努力程度来求得故障检测率,文献[2]通过分别分析软件总故障数与时间成正比及软件总故障数与期望故障数成正比建立NHPP类软件可靠性模型。在实际工程中,随着软件的运行,软件的故障将变得比较隐蔽,开发人员对故障的排除率也将变得比较困难,在排除错误的过程中,也有可能引入新的错误。本文通过综合考虑故障检测率、故障排除率、故障引入率、软件预期故障总数来建立了一种改进的NHPP软件可靠性模型,并对2组经典数据进行实例分析,通过与现有的NHPP软件可靠性模型进行比较分析,证明本文所改进的NHPP软件可靠性模型的优良性。

1 改进的NHPP软件可靠性模型

为构建改进的NHPP软件可靠性模型,需做如下假设:

(1) 软件实际运行环境与测试可靠性剖面完全一致;

(2) 到时间[t]时刻累计错误数[C(t)]服从均值函数为 [m(t)] 的泊松过程;

(3) 在[t,t+Δt]时间范围内期望发现的故障数与软件剩余错误数成正比,比例为错误检测率[φ(t),][0<φ(t)<1;]

(4) 在[t,t+Δt]时间范围内,软件累计排除的错误数[x(t)]与在此段时间范围内期望发现的故障数[m(t)]成正比,比例为[μ(t)-ω(t)],[μ(t)]为错误排除率,[ω(t)]为错误引入率,[0<ω(t)<μ(t)<1];

(5) 软件预期故障数[a(t)]与软件初始时刻故障数 [β]之差同软件累计排除的错误数[x(t)]成正比,比例为 [η(t)],[0<η(t)<1]。

根据上述假设,可得如下方程:

[dm(t)d(t)=φ(t)a(t)-x(t)dx(t)d(t)=(μ(t)-ω(t))dm(t)d(t)a(t)=β+η(t)x(t)] (1)

初始条件为:

[m(0)=0x(0)=0] (2)

联立方程 (1),(2)可得期望软件故障数为:

[m(t)=β0tφ(τ)(1+0τφ(τ)exp(-0τφ(τ)(η(τ)-1)(μ(τ)-ω(τ))dτ)η(τ)exp(0τφ(τ)(η(τ)-1)(μ(τ)-ω(τ))dτ)×0τφ(τ)exp(-0τφ(τ)(η(τ)-1)(μ(τ)-ω(τ))dτ)(μ(τ)-ω(τ))dτ)dτ] (3)

因为累积故障数[C(t)]服从均值函数为[m(t)]的泊松过程,故累积故障数为:

[P(C(t)=n)=m(t)nn!e-m(t), n=0,1,2,…,k] (4)

由非齐次泊松分布的性质可得软件可靠度函数为:

[R(t+δ|t)=P{C(t+δ)-C(t)=0}=e-(m(t+δ)-m(t))] (5)

随着测试人员测试过程的进行,软件的错误会隐蔽的比较深,发现错误的概率会减小,伴随着错误的排除,当[t→∞]时,错误检测率将趋于零。故可假设错误检测率为:

[φ(t)=kexp(-rt)] (6)

式中:[k]为初始时刻的检测率,[00。]

为方便计算,在此假设软件开发人员在排除错误过程中错误排除率[μ(t)]及错误引入率[ω(t),][η(t)]为常数,即:

[μ(t)=μω(t)=ωη(t)=η] (7)

式中[0<ω<μ<1,][0<η<1。]

将式(6)及式(7)代入式(3)得在[t]时刻软件期望故障数为:

[m(t)=βexpk(1-e-rt)(1-η)(μ-ω)r-1(1-η)(μ-ω)] (8)

通过最小二乘法即可求得[m(t)]中的参数。

2 模型验证及评价

为了期望故障数[m(t)]更好地逼近实验数据,可通过最小误差平方和(SSE)来预估其中的参数。

[SSE=i=1n(yi-m(ti))2] (9)

式中:[n]为软件失效样本数量;[yi]为[ti]时刻观测到的错误数。

[?SSE?β=i=1n2(yi-m(ti))?m(ti)?β=0?SSE?k=i=1n2(yi-m(ti))?m(ti)?k=0?SSE?r=i=1n2(yi-m(ti))?m(ti)?r=0?SSE?η=i=1n2(yi-m(ti))?m(ti)?η=0?SSE?μ=i=1n2(yi-m(ti))?m(ti)?μ=0?SSE?ω=i=1n2(yi-m(ti))?m(ti)?ω=0] (10)

在[0<β<∞,0

可通过MSE来度量模型的拟合效果,MSE方程如下:

[MSE=1ni=1nm(ti)-yi2] (11)

由方程(11)可知,MSE越小,拟合效果越好。

为了检验改进的NHPP软件可靠性模型,本文使用文献[3]中的数据(见表1)进行实验,并与文献[2,4?5] 进行对比,实验结果如图1所示。

由表2可看出,本文提出的模型拟合效度较优。

3 结 语

本文提出了一种改进的NHPP软件可靠性模型并对提出的模型进行仿真实验及比较,证明了本文提出模型的优良性,在后续研究中可以更好地通过分析缺陷探测率、软件运行覆盖率、排除错误时错误引入率等特性,代入本文提出的模型中,从而达到更好的拟合效果。

参考文献

[1] 李海峰,刘畅,郑军,等.考虑测试工作量与覆盖率的软件可靠性模型[J].软件学报,2013,24(4):749?760.

[2] PHARN H, ZHANG Xue?mei. NHPP software reliability and cost models with testing coverage [J]. European Journal of Ope?rational Research, 2003, 145(2): 445?454.

[3] OHBA M. Software reliability analysis models [J]. IBM Journal of Research and Development, 1984, 28(4): 428?443.

[4] PHAM H. An imperfect?debugging fault?detection dependent?parameter software [J]. International Journal of Automation and Computing, 2007, 4(4): 325?328.

[5] HUANG Chin?yu, LIN Chu?ti. Software reliability analysis by considering fault dependency and debugging time lag [J]. IEEE Transactions on Reliability, 2006, 55(3): 436?450.

[6] 侯春燕,崔刚,刘宏伟,等.基于构件的INHPP类软件可靠性增长模型的研究[J].计算机科学,2009,36(4):195?199.

[7] 孙志安,裴晓黎.软件可靠性工程[M].北京:北京航空航天大学出版社,2009.

[8] ZHANG X M, TENG X L, PHAM H. Considering fault remo?val efficiency in software reliability assessment [J]. IEEE Tran?sactions on Systems, Man, and Cybernetics: Systems and Humans, 2003, 33(1): 114?119.

[9] PHAM H,NORDMANN L,ZHANG X. A general imperfect?software?debugging model with S?shaped fault?detection rate [J]. IEEE Transactions on reliability, 1999, 48(2): 169?175.

猜你喜欢
成正比软件可靠性错误
在错误中成长
软件可靠性工程综合应用建模技术研究
吃完巧克力要运动吗?
一种证明引力大小与质量乘积成正比的数学方法*
数控系统软件可靠性设计与故障分析技术
不犯同样错误
语丝
简谈使用BoundsChecker进行计算机联锁系统人机界面软件可靠性测试
《错误》:怎一个“美”字了得
高中体育教师学位与体育教学质量成正比性的反思考