杨彬 陈丽容
(中国航天科工集团第二研究院706所,北京100854)
摘要 研究了高可靠软件的可靠性评估技术,给出了失效数据稀少情况下的软件可靠性模型。假设高可靠软件的可靠性测试过程中发生失效是独立同分布的稀有事件,从理论上分析了极值统计理论用于软件可靠性评估的可行性,建立了软件可靠性极值统计模型,讨论了模型的参数估计方法和假设检验方法。
关键词 软件可靠性模型 高可靠软件 极值统计 失效数据
关于软件可靠性的评估,从1972年出现第一个软件可靠性的评估模型以来,人们对软件可靠性评估方法和评估模型的研究就没有间断过。人们不断总结已有模型的优点和缺点,并在已有的评估理论的基础上,针对不同软件的特点和性能,不断地提出新的模型和方法。这些可靠性模型和评估方法都是基于系统运行期间的失效分析,事先假定软件可靠性失效数据服从一定的随机分布,并且要求一定量的软件可靠性失效数据。对大型商业系统来说,这些数据量可能还是足够的,但是对高可靠软件来说就往往不能产生符合要求的数据了。这有三方面的原因:一是高可靠软件一般功能比较单一,操作较少;二是高可靠软件开发过程中引入了大量软件可靠性分析与设计措施,例如容错、冗余和N-文本编程等,三是前期的软件测试比较充分,因此可靠性测试阶段确实很少发生失效。所以对于高可靠软件,难以决定选择哪个模型更合适,甚至就算选定了某一个模型,由于失效数据的稀少,模型也难以适用[1,2]。
本文分析了极值统计理论用于软件可靠性评估的可行性,建立了软件可靠性极值统计模型,讨论了模型的参数估计方法和假设检验方法,最后通过一个实例说明了该模型的应用。
极值统计是专门研究很少发生、一旦发生却有巨大影响的随机变量极端变异性的建模及统计分析方法[9]。它以次序统计量为基础,研究极值事件分布的特性。极值事件常见于某种分布的尾部,用来拟合全部事件的分布有时不能精确地反映其尾部事件,这时母体分布尾部的分布可以由极值分布来精确拟合。
设
成立,其中
I型分布:
II型分布:
III型分布:
其中I型分布又称为Gumbel分布,II型分布又称为Fréchet分布,III型分布又称为Weibull分布,这三种分布统称为极值分布(extreme value distribution)。当
如果引进位置参数(location parameter)
由于在高可靠性软件的测试过程中失效很少发生,我们可以认为高可靠性软件测试过程中失效的发生是稀有事件[5],从而可以用极值统计方法来分析采集到的失效数据。根据这个思想,可以建立软件可靠性极值统计模型(Software Reliability Model based on the Statistics of Extreme,SE-SRM),并从假设检验和参数估计这两个方面提高模型的准确度,那么用该模型进行失效数据分析能获得更真实的可靠度。
高可靠软件一旦失效将造成灾难性的后果,因此高可靠软件质量要求较高,在其交付使用之前,一般会进行大量的测试以发现并排除可能存在的缺陷。在此前提下,对高可靠软件进行可靠性测试可能只能收集到有限的失效数据。另一方面,“软件总是有缺陷的”这一观点已经在学术界和实业界得到了共识,测试中发生很少失效并不能保证软件已经达到了预定的可靠度。因此利用这些有限的失效数据对软件可靠性进行评估,是软件发布前进行决策时的一个必须步骤。
假定软件失效服从母体分布
极值统计关注给定概率分布的尾部特征,提供了一种对尾部分布进行分析的方法。使用极值统计来分布失效数据,不需要对数据假设一个先验分布。为了更加客观地描述高可靠软件可靠性测试阶段可靠性的变化规律,根据高可靠软件测试的特点,可以做如下基本假设:
(1)软件的失效为稀有事件。由于高可靠软件可靠性测试过程中失效次数很少,可以认为其失效为稀有事件。
(2)软件失效是独立同分布的。由于失效为稀有事件,可以认为软件失效是独立的,各失效之间没有关联。又由于软件的可靠性已经很高,失效时缺陷的排除对可靠性的影响不大,因此可以认为软件失效是同分布的。本条件的前提是条件(1),如果条件(1)不成立,则本条件也值得怀疑。因此,本文的方法主要用于失效极少发生下的软件可靠性评估。
(3)软件的测试操作剖面与实际操作剖面一致。为了更准确地反映实际使用中软件的可靠性,在对软件进行测试时,其测试操作剖面应与实际操作剖面类似。
基于以上假设,可以建立基于极值统计的软件可靠性模型SE-SRM。设
由于软件失效时间的分布函数
由极值类型定理可知,当
通过参数估计得到上式中的参数的估计值
母体分布为Gumbel-II型极值分布的可靠度函数为(
母体分布为Gumbel-II型极值分布的失效率函数为:
在统计学中对参数估计一般采用极大似然估计和最小二乘估计,但是两者的优良性质只有在样本量较大时才能体现。而高可靠软件的可靠性测试失效数据少而且离散性很强,这两种估计方法是否适用还没有定论。针对极值统计推断,本节引入最好线性无偏估计。
设分布函数
(1)
(2)
(3)
那么,
由于
其中
设失效数据
由中国电子技术标准研究所编制的《可靠性试验用表》,当
其中的
根据
虽然
其中的
用BLUE进行参数估计具有相当高的精度,并且当
为了利用极值分布描述软件可靠性变化规律,我们需要对软件失效数据是否服从极值分布进行检验。设
即
其中
具体过程如下:
对
令
上式中
其中
当测试失效数据
(1)计算线性相关系数
(2)查相关系数临界值表得到
(3)看是否接受假设
这里给出一个应用基于极值统计的软件可靠性模型的实例,完整给出了参数估计和假设检验的过程,并与其它软件可靠性模型进行了比较。某程序测试总时间为528小时,其中共发生了7次失效,实际运行时间为2148小时,其中共发生了6次失效,各次失效发生的时间如表1所示。
表1 某软件失效时间
失效数 |
测试失效时间 |
运行失效时间 |
1 |
120 |
144 |
2 |
120 |
336 |
3 |
152 |
408 |
4 |
192 |
1128 |
5 |
296 |
1152 |
6 |
368 |
1680 |
7 |
488 |
|
(1)针对测试过程中的失效数据,用最好线性无偏估计进行参数估计,根据公式(3-13)和(3-14)得到参数估计值:
(2)用相关系数法检验测试过程中的这些数据是否符合极值分布,根据公式(3-18)得
(3)算出软件可靠性测试结束后预计的可靠度函数和失效率函数为:
软件可靠性测试结束以后预计的软件平均失效时间,根据公式(3-8)有
G-O模型是常用的NHPP类软件可靠性模型,它假定检测出的累积错误数是一个独立增量过程,其期望函数服从非齐次Possion分布。针对上述测试失效数据,根据G-O模型可以算得其可靠度函数为
(4)针对软件实际运行失效数据,用最好线性无偏估计进行参数估计,根据公式(3-13)和(3-14)得到参数估计值:
软件实际运行中的可靠度函数和失效率函数为
将软件可靠度函数
图1 SE-SRM模型应用
本章分析了对高可靠软件而言将软件失效视为稀有事件的合理性。在此基础上,利用极值统计理论建立了软件可靠性模型SE-SRM,并提出了适合该模型的参数估计和假设检验方法。根据一个实际的例子,详细阐述了SE-SRM的使用过程。
参考文献
[1] Lori M.Kaufman, Joanne Bechta Dugan, Barry W.Johnson,Using Statistics of the Extremes for Software Reliability Analysis[J],IEEE TRANSACTIONS ON RELIABILITY,VOL 48,NO.3,1999 SEPTEMBER
[2] Lori.M.Kaufman,Ted C.Giras,Simulation of rare events in transportation systems,Proceedings of the 2001 Winter Simulation Conference[C]
[3]Uditha Balasooriya and C.K.Low,Competing causes of failure and reliability tests for Weibull lifetimes under type I progressive censoring[J],IEEE TRANSACTIONS ON RELIABILITY ,Vol.53, No.1 MARCH 2004
[4]Toshiyuki Shimokawa,Goodness-of-fit tests for type-I extreme-value and 2-parameter Weibull distributions[J],IEEE Transactions on Reliability,VOL 48,NO.1,1999 MARCH
[5]Yangyang Yu,Barry W.Johnson,The Quantitative Safety Assessment for Safety-Critical Software,Proceedings of the 29th Annual IEEE/NASA Software Engineering Workshop[C]
[6]Shepperd M.; Cartwright M.,Predicting with sparse data[J],IEEE Transactions on Software Engineering,VOL.27,NO.11,NOVEMBER 2001
[7]Nestoras E.Evmorfopoulos et al.,A Monte Carlo approach for maximum power estimation based on extreme value theory[J],IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL.21, NO.4, APRIL 2002
[8]陈希孺,高等数理统计学[M],合肥,中国科学技术出版社,1999
[9]史道济,实用极值统计方法[M],天津科学技术出版社,2006年4月第1版
Yangbin, Chenlirong
(Institute 706, Second Academy of CASIC, Beijing 100854, China)
Abstract A software reliability assessment method for highly reliable software systems is investigated. As highly reliable software system seldom fails, we can consider the failures as rare events, so Extreme Value Theory(EVT) can be applied to model the failures. Analysis of rare event data using EVT does not require a priori assumptions concerning the distributional form of the data,and thus provides an interesting alternative to traditional approaches. This thesis investigated the feasibility of using EVT in software reliability assessment, and proposed the appropriate statistical methods.
Keyword software reliability, statistics of extreme, highly reliable software, failure data