楊彬 陳麗容
(中國(guó)航天科工集團(tuán)第二研究院706所,北京100854)
摘要 研究了高可靠軟件的可靠性評(píng)估技術(shù),給出了失效數(shù)據(jù)稀少情況下的軟件可靠性模型。假設(shè)高可靠軟件的可靠性測(cè)試過(guò)程中發(fā)生失效是獨(dú)立同分布的稀有事件,從理論上分析了極值統(tǒng)計(jì)理論用于軟件可靠性評(píng)估的可行性,建立了軟件可靠性極值統(tǒng)計(jì)模型,討論了模型的參數(shù)估計(jì)方法和假設(shè)檢驗(yàn)方法。
關(guān)鍵詞 軟件可靠性模型 高可靠軟件 極值統(tǒng)計(jì) 失效數(shù)據(jù)
關(guān)于軟件可靠性的評(píng)估,從1972年出現(xiàn)第一個(gè)軟件可靠性的評(píng)估模型以來(lái),人們對(duì)軟件可靠性評(píng)估方法和評(píng)估模型的研究就沒(méi)有間斷過(guò)。人們不斷總結(jié)已有模型的優(yōu)點(diǎn)和缺點(diǎn),并在已有的評(píng)估理論的基礎(chǔ)上,針對(duì)不同軟件的特點(diǎn)和性能,不斷地提出新的模型和方法。這些可靠性模型和評(píng)估方法都是基于系統(tǒng)運(yùn)行期間的失效分析,事先假定軟件可靠性失效數(shù)據(jù)服從一定的隨機(jī)分布,并且要求一定量的軟件可靠性失效數(shù)據(jù)。對(duì)大型商業(yè)系統(tǒng)來(lái)說(shuō),這些數(shù)據(jù)量可能還是足夠的,但是對(duì)高可靠軟件來(lái)說(shuō)就往往不能產(chǎn)生符合要求的數(shù)據(jù)了。這有三方面的原因:一是高可靠軟件一般功能比較單一,操作較少;二是高可靠軟件開(kāi)發(fā)過(guò)程中引入了大量軟件可靠性分析與設(shè)計(jì)措施,例如容錯(cuò)、冗余和N-文本編程等,三是前期的軟件測(cè)試比較充分,因此可靠性測(cè)試階段確實(shí)很少發(fā)生失效。所以對(duì)于高可靠軟件,難以決定選擇哪個(gè)模型更合適,甚至就算選定了某一個(gè)模型,由于失效數(shù)據(jù)的稀少,模型也難以適用[1,2]。
本文分析了極值統(tǒng)計(jì)理論用于軟件可靠性評(píng)估的可行性,建立了軟件可靠性極值統(tǒng)計(jì)模型,討論了模型的參數(shù)估計(jì)方法和假設(shè)檢驗(yàn)方法,最后通過(guò)一個(gè)實(shí)例說(shuō)明了該模型的應(yīng)用。
極值統(tǒng)計(jì)是專門研究很少發(fā)生、一旦發(fā)生卻有巨大影響的隨機(jī)變量極端變異性的建模及統(tǒng)計(jì)分析方法[9]。它以次序統(tǒng)計(jì)量為基礎(chǔ),研究極值事件分布的特性。極值事件常見(jiàn)于某種分布的尾部,用來(lái)擬合全部事件的分布有時(shí)不能精確地反映其尾部事件,這時(shí)母體分布尾部的分布可以由極值分布來(lái)精確擬合。
設(shè)
成立,其中
I型分布:
II型分布:
III型分布:
其中I型分布又稱為Gumbel分布,II型分布又稱為Fréchet分布,III型分布又稱為Weibull分布,這三種分布統(tǒng)稱為極值分布(extreme value distribution)。當(dāng)
如果引進(jìn)位置參數(shù)(location parameter)
由于在高可靠性軟件的測(cè)試過(guò)程中失效很少發(fā)生,我們可以認(rèn)為高可靠性軟件測(cè)試過(guò)程中失效的發(fā)生是稀有事件[5],從而可以用極值統(tǒng)計(jì)方法來(lái)分析采集到的失效數(shù)據(jù)。根據(jù)這個(gè)思想,可以建立軟件可靠性極值統(tǒng)計(jì)模型(Software Reliability Model based on the Statistics of Extreme,SE-SRM),并從假設(shè)檢驗(yàn)和參數(shù)估計(jì)這兩個(gè)方面提高模型的準(zhǔn)確度,那么用該模型進(jìn)行失效數(shù)據(jù)分析能獲得更真實(shí)的可靠度。
高可靠軟件一旦失效將造成災(zāi)難性的后果,因此高可靠軟件質(zhì)量要求較高,在其交付使用之前,一般會(huì)進(jìn)行大量的測(cè)試以發(fā)現(xiàn)并排除可能存在的缺陷。在此前提下,對(duì)高可靠軟件進(jìn)行可靠性測(cè)試可能只能收集到有限的失效數(shù)據(jù)。另一方面,“軟件總是有缺陷的”這一觀點(diǎn)已經(jīng)在學(xué)術(shù)界和實(shí)業(yè)界得到了共識(shí),測(cè)試中發(fā)生很少失效并不能保證軟件已經(jīng)達(dá)到了預(yù)定的可靠度。因此利用這些有限的失效數(shù)據(jù)對(duì)軟件可靠性進(jìn)行評(píng)估,是軟件發(fā)布前進(jìn)行決策時(shí)的一個(gè)必須步驟。
假定軟件失效服從母體分布
極值統(tǒng)計(jì)關(guān)注給定概率分布的尾部特征,提供了一種對(duì)尾部分布進(jìn)行分析的方法。使用極值統(tǒng)計(jì)來(lái)分布失效數(shù)據(jù),不需要對(duì)數(shù)據(jù)假設(shè)一個(gè)先驗(yàn)分布。為了更加客觀地描述高可靠軟件可靠性測(cè)試階段可靠性的變化規(guī)律,根據(jù)高可靠軟件測(cè)試的特點(diǎn),可以做如下基本假設(shè):
(1)軟件的失效為稀有事件。由于高可靠軟件可靠性測(cè)試過(guò)程中失效次數(shù)很少,可以認(rèn)為其失效為稀有事件。
(2)軟件失效是獨(dú)立同分布的。由于失效為稀有事件,可以認(rèn)為軟件失效是獨(dú)立的,各失效之間沒(méi)有關(guān)聯(lián)。又由于軟件的可靠性已經(jīng)很高,失效時(shí)缺陷的排除對(duì)可靠性的影響不大,因此可以認(rèn)為軟件失效是同分布的。本條件的前提是條件(1),如果條件(1)不成立,則本條件也值得懷疑。因此,本文的方法主要用于失效極少發(fā)生下的軟件可靠性評(píng)估。
(3)軟件的測(cè)試操作剖面與實(shí)際操作剖面一致。為了更準(zhǔn)確地反映實(shí)際使用中軟件的可靠性,在對(duì)軟件進(jìn)行測(cè)試時(shí),其測(cè)試操作剖面應(yīng)與實(shí)際操作剖面類似。
基于以上假設(shè),可以建立基于極值統(tǒng)計(jì)的軟件可靠性模型SE-SRM。設(shè)
由于軟件失效時(shí)間的分布函數(shù)
由極值類型定理可知,當(dāng)
通過(guò)參數(shù)估計(jì)得到上式中的參數(shù)的估計(jì)值
母體分布為Gumbel-II型極值分布的可靠度函數(shù)為(
母體分布為Gumbel-II型極值分布的失效率函數(shù)為:
在統(tǒng)計(jì)學(xué)中對(duì)參數(shù)估計(jì)一般采用極大似然估計(jì)和最小二乘估計(jì),但是兩者的優(yōu)良性質(zhì)只有在樣本量較大時(shí)才能體現(xiàn)。而高可靠軟件的可靠性測(cè)試失效數(shù)據(jù)少而且離散性很強(qiáng),這兩種估計(jì)方法是否適用還沒(méi)有定論。針對(duì)極值統(tǒng)計(jì)推斷,本節(jié)引入最好線性無(wú)偏估計(jì)。
設(shè)分布函數(shù)
(1)
(2)
(3)
那么,
由于
其中
設(shè)失效數(shù)據(jù)
由中國(guó)電子技術(shù)標(biāo)準(zhǔn)研究所編制的《可靠性試驗(yàn)用表》,當(dāng)
其中的
根據(jù)
雖然
其中的
用BLUE進(jìn)行參數(shù)估計(jì)具有相當(dāng)高的精度,并且當(dāng)
為了利用極值分布描述軟件可靠性變化規(guī)律,我們需要對(duì)軟件失效數(shù)據(jù)是否服從極值分布進(jìn)行檢驗(yàn)。設(shè)
即
其中
具體過(guò)程如下:
對(duì)
令
上式中
其中
當(dāng)測(cè)試失效數(shù)據(jù)
(1)計(jì)算線性相關(guān)系數(shù)
(2)查相關(guān)系數(shù)臨界值表得到
(3)看是否接受假設(shè)
這里給出一個(gè)應(yīng)用基于極值統(tǒng)計(jì)的軟件可靠性模型的實(shí)例,完整給出了參數(shù)估計(jì)和假設(shè)檢驗(yàn)的過(guò)程,并與其它軟件可靠性模型進(jìn)行了比較。某程序測(cè)試總時(shí)間為528小時(shí),其中共發(fā)生了7次失效,實(shí)際運(yùn)行時(shí)間為2148小時(shí),其中共發(fā)生了6次失效,各次失效發(fā)生的時(shí)間如表1所示。
表1 某軟件失效時(shí)間
失效數(shù) |
測(cè)試失效時(shí)間 |
運(yùn)行失效時(shí)間 |
1 |
120 |
144 |
2 |
120 |
336 |
3 |
152 |
408 |
4 |
192 |
1128 |
5 |
296 |
1152 |
6 |
368 |
1680 |
7 |
488 |
|
(1)針對(duì)測(cè)試過(guò)程中的失效數(shù)據(jù),用最好線性無(wú)偏估計(jì)進(jìn)行參數(shù)估計(jì),根據(jù)公式(3-13)和(3-14)得到參數(shù)估計(jì)值:
(2)用相關(guān)系數(shù)法檢驗(yàn)測(cè)試過(guò)程中的這些數(shù)據(jù)是否符合極值分布,根據(jù)公式(3-18)得
(3)算出軟件可靠性測(cè)試結(jié)束后預(yù)計(jì)的可靠度函數(shù)和失效率函數(shù)為:
軟件可靠性測(cè)試結(jié)束以后預(yù)計(jì)的軟件平均失效時(shí)間,根據(jù)公式(3-8)有
G-O模型是常用的NHPP類軟件可靠性模型,它假定檢測(cè)出的累積錯(cuò)誤數(shù)是一個(gè)獨(dú)立增量過(guò)程,其期望函數(shù)服從非齊次Possion分布。針對(duì)上述測(cè)試失效數(shù)據(jù),根據(jù)G-O模型可以算得其可靠度函數(shù)為
(4)針對(duì)軟件實(shí)際運(yùn)行失效數(shù)據(jù),用最好線性無(wú)偏估計(jì)進(jìn)行參數(shù)估計(jì),根據(jù)公式(3-13)和(3-14)得到參數(shù)估計(jì)值:
軟件實(shí)際運(yùn)行中的可靠度函數(shù)和失效率函數(shù)為
將軟件可靠度函數(shù)
圖1 SE-SRM模型應(yīng)用
本章分析了對(duì)高可靠軟件而言將軟件失效視為稀有事件的合理性。在此基礎(chǔ)上,利用極值統(tǒng)計(jì)理論建立了軟件可靠性模型SE-SRM,并提出了適合該模型的參數(shù)估計(jì)和假設(shè)檢驗(yàn)方法。根據(jù)一個(gè)實(shí)際的例子,詳細(xì)闡述了SE-SRM的使用過(guò)程。
參考文獻(xiàn)
[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]陳希孺,高等數(shù)理統(tǒng)計(jì)學(xué)[M],合肥,中國(guó)科學(xué)技術(shù)出版社,1999
[9]史道濟(jì),實(shí)用極值統(tǒng)計(jì)方法[M],天津科學(xué)技術(shù)出版社,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