趙玉新,常 帥,萬程程
(哈爾濱工程大學(xué)自動(dòng)化學(xué)院,黑龍江哈爾濱150001)
考慮故障檢測(cè)效用與修正效用的軟件可靠性增長模型
趙玉新,常 帥,萬程程
(哈爾濱工程大學(xué)自動(dòng)化學(xué)院,黑龍江哈爾濱150001)
測(cè)試效用是影響軟件測(cè)試過程的重要因素,其隨時(shí)間的變化情況直接影響著測(cè)試過程中的故障檢測(cè)和修正的效率,合理地評(píng)估測(cè)試效用對(duì)測(cè)試過程的影響是建立精確軟件可靠性模型的關(guān)鍵因素。針對(duì)現(xiàn)有模型對(duì)測(cè)試效用認(rèn)識(shí)的不足,嚴(yán)格根據(jù)實(shí)際測(cè)試情況,將測(cè)試效用分為故障檢測(cè)效用和故障修正效用,并在此基礎(chǔ)上,建立了綜合考慮這兩種效用的軟件可靠性增長模型。利用公開發(fā)表的軟件測(cè)試失效數(shù)據(jù)集對(duì)模型進(jìn)行驗(yàn)證,結(jié)果表明,與現(xiàn)有的考慮故障檢測(cè)與修正過程的模型相比,所提模型具有更好的擬合和預(yù)測(cè)能力。
軟件可靠性增長模型;測(cè)試效用;故障檢測(cè)效用;故障修正效用
軟件可靠性[13]是衡量軟件質(zhì)量的重要特性,其反映了軟件開發(fā)和使用過程中出現(xiàn)的失效情況。軟件可靠性增長模型(software reliability growth model,SRGM)的建立位于軟件開發(fā)時(shí)期的系統(tǒng)測(cè)試階段,其在對(duì)軟件反復(fù)進(jìn)行測(cè)試和故障排除的過程中得以建立,可以有效地評(píng)估和預(yù)測(cè)軟件可靠性,是開展相關(guān)研究的核心和關(guān)鍵。非齊次泊松過程[4](non-homogeneous Poisson process,NHPP)類SRGM是目前研究最多、應(yīng)用最廣的一類。
測(cè)試效用被認(rèn)為是一種重要的測(cè)試過程因素,是指在測(cè)試過程中所消耗的資源,可用人力、執(zhí)行的測(cè)試用例、CPU時(shí)間等信息來度量,是影響軟件可靠性的重要因素[56]。測(cè)試效用函數(shù)(test effort function,TEF)用來描述測(cè)試效用隨測(cè)試時(shí)間變化的情況,一般用W(t)表示。故障檢測(cè)過程和故障修正過程是影響軟件可靠性建模準(zhǔn)確性的兩個(gè)主要因素。目前,很多SRGM都考慮到了故障檢測(cè)過程的變化趨勢(shì),以及故障修正過程中的不完全修正性。文獻(xiàn)[7]提出的G-O模型是最早提出的一種NHPP類可靠性模型。該模型假設(shè)錯(cuò)誤檢測(cè)出來后被立即100%排除;故障檢測(cè)率則取常數(shù)b。文獻(xiàn)[8]提出了測(cè)試效用的概念,并在G-O模型的基礎(chǔ)上考慮其影響,建立了SRGM withWeibull TEF模型,該模型認(rèn)為故障檢測(cè)率受測(cè)試效用影響,是隨時(shí)間變化的函數(shù)b(t);但該模型忽略了故障修正過程。文獻(xiàn)[9]提出故障修正是不完全的,引入了故障修正率函數(shù)p(t),并認(rèn)為故障檢測(cè)與修正過程均服從NHPP,對(duì)其分別進(jìn)行建模,得到故障檢測(cè)模型md(t)和故障修正模型mc(t),統(tǒng)稱Lo SRGM;但該模型忽略了測(cè)試效用對(duì)軟件可靠性的影響。文獻(xiàn)[10]在Lo模型基礎(chǔ)上,考慮了測(cè)試效用,建立了Huang SRGM,明顯提高了模型的評(píng)估能力;但該模型認(rèn)為故障檢測(cè)率和故障修正率均與整體測(cè)試效用成比例,與實(shí)際情況有較大出入。
實(shí)際上,故障的檢測(cè)和修正是由不同的人員在相互獨(dú)立的環(huán)境中進(jìn)行的[11],如圖1所示。在檢測(cè)故障過程中,故障檢測(cè)率b(t)直接受到投入檢測(cè)資源的影響;在修正過程中,故障修正率p(t)則受投入修正資源的影響。同時(shí),在故障檢測(cè)和故障修正過程中所投入的資源往往是不同的,不存在直接相關(guān)性?;诖耍疚脑诳紤]故障檢測(cè)投入資源和故障修正投入資源對(duì)故障檢測(cè)率和修正率的影響的基礎(chǔ)上,建立了一種新的考慮故障檢測(cè)效用與故障修正效用的SRGM。利用一組公開發(fā)表的實(shí)效數(shù)據(jù)進(jìn)行仿真驗(yàn)證,實(shí)驗(yàn)結(jié)果表明該模型具有更好的擬合效果和預(yù)測(cè)能力。
圖1 故障檢測(cè)與故障修正的關(guān)系圖
傳統(tǒng)的考慮測(cè)試效用的SRGM均假設(shè)任意時(shí)間間隔t到t+Δt內(nèi),期望的故障數(shù)與當(dāng)前時(shí)刻測(cè)試效用的比值與t時(shí)刻剩余的故障數(shù)成正比。由該假設(shè)可看出,傳統(tǒng)的考慮測(cè)試效用的SRGM將測(cè)試效用等同于故障檢測(cè)過程中投入的資源。實(shí)際上,測(cè)試效用指的是整體測(cè)試過程中所投入的資源,包括故障檢測(cè)過程和修正過程,應(yīng)該區(qū)分看待。首先,進(jìn)行如下定義:
故障檢測(cè)效用:為檢測(cè)故障所投入的資源,包括執(zhí)行的測(cè)試用例、檢測(cè)人力、檢測(cè)時(shí)間等。
故障檢測(cè)效用函數(shù)(detection effort function,DEF):表示t時(shí)刻,已投入的累計(jì)故障檢測(cè)效用,用Wd(t)表示。
故障修正效用:為修正故障所投入的資源,包括修正人力、修正時(shí)間等??捎眯拚肆?、CPU時(shí)間等信息來度量。
故障修正效用函數(shù)(correction effort function,CEF):表示t時(shí)刻,已投入的累計(jì)修正效用,用Wc(t)表示。
根據(jù)定義,故障檢測(cè)效用、故障修正效用和測(cè)試效用之間的關(guān)系可描述為
式中,β(t)為檢測(cè)效用占總體測(cè)試效用的比例,該比例是隨時(shí)間變化的函數(shù),由相應(yīng)時(shí)刻所投入的故障檢測(cè)資源和修正資源決定。
本節(jié)符號(hào)說明:
a:軟件故障總數(shù);
b(t):故障檢測(cè)率,表示t時(shí)刻單位時(shí)間內(nèi)每個(gè)故障被檢測(cè)到的概率;
md(t):t時(shí)刻的累計(jì)故障檢測(cè)數(shù);
mc(t):t時(shí)刻的累計(jì)故障修正數(shù);
p(t):故障修正率,表示t時(shí)刻單位時(shí)間內(nèi)每個(gè)已檢測(cè)到故障被正確修正的概率;
r:每單位檢測(cè)效用的故障檢測(cè)率;
u:每單位修正效用的故障修正率。
2.1 模型假設(shè)條件
假設(shè)1 軟件失效和修正都遵循NHPP過程;
假設(shè)2 軟件中每個(gè)故障是相互獨(dú)立的,每個(gè)故障導(dǎo)致系統(tǒng)發(fā)生失效的可能性也相同;
假設(shè)3 任意時(shí)間間隔t到t+Δt內(nèi)期望的故障發(fā)生數(shù),與t時(shí)刻剩余的故障數(shù)成比例,比例為故障檢測(cè)率函數(shù)b(t);
假設(shè)4 軟件排錯(cuò)是不完全的,任意時(shí)間間隔t到t+Δt內(nèi)期望的故障修正數(shù),與t時(shí)刻剩余的待修正故障數(shù)成比例,比例為故障修正率函數(shù)p(t)。
2.2 建模過程
由假設(shè)1~假設(shè)3得
從而得到微分方程
在t時(shí)刻,單位時(shí)間內(nèi)投入的故障檢測(cè)效用wd(t)=W′d(t)。
在實(shí)際測(cè)試過程中,單位時(shí)間內(nèi)投入的檢測(cè)資源越多,檢測(cè)到的故障也就越多,即故障檢測(cè)率b(t)受wd(t)影響。當(dāng)故障檢測(cè)效用wd(t)增加時(shí),故障檢測(cè)率b(t)也隨之增加,因此,故障檢測(cè)率b(t)與當(dāng)前時(shí)刻的檢測(cè)效用wd(t)成正比,且比值為每單位檢測(cè)效用的故障檢測(cè)率r,表示為
將式(5)代入式(4)得
由假設(shè)4得
從而得到微分方程
在t時(shí)刻,單位時(shí)間投入的故障修正效用為wc(t)=W′c(t)。
在實(shí)際測(cè)試過程中,單位時(shí)間內(nèi)投入的修正資源越多,修正的故障也就越多,即故障修正率p(t)受wc(t)影響。當(dāng)故障修正效用wc(t)增加時(shí),故障修正率p(t)也隨之增加。因此,故障修正率p(t)與當(dāng)前的時(shí)刻的修正效用wc(t)成正比,且比值為每單位修正效用的故障修正率u,表示為
將式(9)代入式(8)得
初始條件為
解式(6)得
將式(12)代入式(10),解方程得
式中
由初始條件得
將式(1)和式(2)代入式(12)和式(14),得
因此,可選取的函數(shù)為
式中,k>0,k的大小決定了β(t)變化的快慢。將式(17)代入式(15)和式(16),得
當(dāng)k=0即Wd(t)=W(t),且r×W*(t)=b時(shí),該模型即為G-O模型。當(dāng)r×W*d(t)=b,u×W*c(t)=p時(shí),該模型即為Lo SRGM。當(dāng)Wd(t)=Wc(t)=W(t),r=u時(shí),該模型即為Huang SRGM。
3.1 評(píng)價(jià)標(biāo)準(zhǔn)
誤差平方和(error sum of square,ESS)[12]和回歸指數(shù)R-square作為SRGM擬合能力的評(píng)價(jià)標(biāo)準(zhǔn),相對(duì)誤差(realative error,RE)作為SRGM預(yù)測(cè)能力的評(píng)價(jià)標(biāo)準(zhǔn)。
SSE的值越小,曲線擬合的誤差越小。其定義為
式中,n表示失效數(shù)據(jù)集中失效樣本的數(shù)目;yi表示到ti時(shí)刻累積故障數(shù);m(ti)表示在ti時(shí)刻模型估算得到的累積故障數(shù)。
回歸曲線方程的相關(guān)指數(shù)R-square的值越接近于1,表示模型的擬合效果越佳。其定義為[12]
不知什么原因,我練功出了岔子,在體內(nèi)游走的真氣本應(yīng)暖烘烘的,卻變得冰冷無比,三伏天,我手腳冰涼,晚上睡覺要蓋被子,蓋被子也沒用,照樣凍得直抖。
RE用來計(jì)算模型的預(yù)測(cè)能力,表示為
由式(23)計(jì)算出每個(gè)觀測(cè)數(shù)據(jù)點(diǎn)的RE值,繪制RE曲線,曲線越快接近于零,模型的預(yù)測(cè)能力越強(qiáng)。
3.2 對(duì)比模型與TEF的選擇
為了驗(yàn)證本文模型的擬合效果,用最小二乘法估計(jì)參數(shù),選擇4個(gè)比較經(jīng)典的SRGM作為對(duì)比模型,具體如表1所示。并應(yīng)用一組公開發(fā)表的數(shù)據(jù)集進(jìn)行分析。該數(shù)據(jù)來自RADC(Rome Air Development Center)的T1系統(tǒng)的凈室測(cè)試數(shù)據(jù),該系統(tǒng)是一個(gè)大型的軟件系統(tǒng),測(cè)試過程為21周,共檢測(cè)和修正了136個(gè)故障[13]。
表1 SRGM及其m(t)
本文的TEF選擇文獻(xiàn)[5]提出的Delayed S-shaped TEF。該TEF具有很好的擬合性及適應(yīng)性,DelayedS-shaped TEF的表達(dá)式為
式中,N表示預(yù)期消耗的總的測(cè)試效用;h表示測(cè)試效用的消耗率;A為常量。
對(duì)于本文中的測(cè)試效用數(shù)據(jù)進(jìn)行擬合,得到參數(shù)N=29.114 3,h=0.493 2,A=4610.010 1。圖2給出了Delayed S-shaped TEF的擬合仿真曲線,仿真結(jié)果顯示Delayed S-shaped TEF對(duì)本文數(shù)據(jù)具有很好的擬合效果。
圖2 Delayed S-shaped TEF的擬合仿真曲線
3.3 模型驗(yàn)證與評(píng)估
為方便描述,本文模型稱為Proposed Model。表2給出了各個(gè)模型的擬合結(jié)果的SSE參數(shù)標(biāo)準(zhǔn)和R-square參數(shù)標(biāo)準(zhǔn)。從表2可以看出,Proposed Model和Huang SRGM的擬合效果明顯優(yōu)于其他模型,其中Proposed Model的SSE值最小,R-square值最接近于1,證明該模型的擬合最佳。
表2 各個(gè)模型的擬合能力
各個(gè)模型對(duì)檢測(cè)過程、修正過程的擬合曲線分別如圖3和圖4所示。由圖3和圖4可以觀察得,Proposed Model的擬合能力顯而易見,Huang SRGM和SRGM with TEF雖然也能擬合實(shí)際失效數(shù)據(jù)的大體趨勢(shì),但相對(duì)于Proposed Model略顯遜色。各個(gè)模型對(duì)檢測(cè)過程、修正過程的預(yù)測(cè)能力評(píng)估曲線分別如圖5和圖6所示。Proposed Model的RE曲線幾乎在1以內(nèi),并始終是最接近于0的,在震蕩中最快收斂于0;相對(duì)來說,其他模型振幅過大,如檢測(cè)過程中的G-O Model、Lo SRGM和修正過程的Lo SRGM,或收斂速度較慢,如檢測(cè)過程中的SRGM with TEF、Huang SRGM和修正過程的Huang SRGM。
圖3 各個(gè)模型對(duì)故障檢測(cè)過程的擬合曲線
圖4 各個(gè)模型對(duì)故障修正過程的擬合曲線
圖5 各個(gè)模型對(duì)故障檢測(cè)過程的預(yù)測(cè)評(píng)估能力曲線
圖6 各個(gè)模型對(duì)故障修正過程的預(yù)測(cè)評(píng)估能力曲線
通過以上分析,可以得出如下結(jié)論①SRGM with TEF、Huang SRGM的擬合和預(yù)測(cè)能力分別優(yōu)于G-O Model和Lo SRGM,說明在軟件可靠性建模過程中考慮測(cè)試效用,可以有效地改善傳統(tǒng)模型的評(píng)估能力。②Lo SRGM(Huang SRGM)的SSE的值小于G-O Model(SRGM with TEF),R-square更接近于1,說明故障檢測(cè)與故障修正是影響軟件可靠性的兩個(gè)關(guān)鍵因素。③在該數(shù)據(jù)集上,擬合效果和預(yù)測(cè)能力前兩名的模型是Proposed Model和Huang SRGM,均是考慮測(cè)試效用且基于故障檢測(cè)與修正過程的SRGM,說明在軟件可靠性建模過程中,充分地考慮測(cè)試效用和故障檢測(cè)與修正過程,可以有效的改善模型的評(píng)估能力。④Proposed Mode是所有模型中表現(xiàn)最優(yōu)的,SSE的值最小,R-square最接近于1,RE曲線最快趨近于0,從而證明了考慮故障檢測(cè)效用與修正效用的SRGM相比于傳統(tǒng)的考慮故障檢測(cè)與修正過程的模型,具有更佳的擬合效果和預(yù)測(cè)能力。
本文針對(duì)故障檢測(cè)和故障修正過程中假設(shè)條件不完善的情況,提出一種考慮故障檢測(cè)效用與修正效用的SRGM。該模型全面考慮了故障檢測(cè)和故障修正過程中投入資源對(duì)軟件可靠性影響,引入了故障檢測(cè)效用與修正效用的概念。利用一組公開發(fā)表的實(shí)效數(shù)據(jù)進(jìn)行仿真驗(yàn)證,實(shí)驗(yàn)結(jié)果表明該模型具有更好的擬合效果和預(yù)測(cè)能力。
[1]Musa J D.Software reliability engineering[M].New York:Mc Graw Hill,1999:2- 3.
[2]Zhao Q,Yu X F,Zhang C W.Incorporating the testing-effort function into the inflected S-shaped NHPP software reliability model[J].Applied Mechanics and Materials,2013,241:356 -359.
[3]Roy P,Mahapatra G S,Dey K N.An S-shaped software reliability model with imperfect debugging and improved testing learning process[J].International Journal of Reliability and Safety,2013,7(4):372- 387.
[4]Xie J Y,An J X,Zhu J H.NHPP software reliability growth model considering imperfect debugging[J].Journal of Software,2010,21(5):942- 949.(謝景燕,安金霞,朱紀(jì)紅.考慮不完美排錯(cuò)情況的NHPP類軟件可靠性增長模型[J].軟件學(xué)報(bào),2010,21(5):942- 949.)
[5]Li Q Y,Li H F,Lu M Y,et al.Software reliability growth model with S-shaped testing effort function[J].Journal of Beijing University of Aeronautics and Astronautics,2011,37(2):149- 154.(李秋英,李海峰,陸民燕,等.基于S型測(cè)試工作量函數(shù)的軟件可靠性增長模型[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(2):149- 154.)
[6]Lin C T.Enhancing the accuracy of software reliability prediction through quantifying the effect of test phase transitions[J].Applied Mathematics and Computation,2012,219(5):2478 -2492.
[7]Goel A L,Okumoto K.Time-dependent error-detection rate model for software and other performance measures[J].IEEE Trans.on Reliability,1979,28(3):206- 211.
[8]Yamada S,Ohtera H,Narihisa H.Software reliability growth models with testing-effort[J].IEEE Trans.on Reliability,1986,35(1):19- 23.
[9]Lo J H,Huang C Y.An integration of fault detection and correction processes in software reliability analysis[J].Journal of Systems and Software,2006,79(9):1312- 1323.
[10]Huang C Y,Kuo S Y,Lyu M R.An assessment of testing-effort dependent software reliability growth models[J].IEEE Trans.on Reliability,2007,56(2):198- 211.
[11]Shu Y,Liu H,Wu Z,et al.Modeling of software fault detection and correction processes based on the correction lag[J].Information Technology Journal,2009,8(5):735- 742.
[12]Huang C Y,Lyu M R.Estimation and analysis of some generalized multiple change-point software reliability models[J].IEEE Trans.on Reliability,2011,60(2):498- 514.
[13]Musa J D,Jannino A,Okumoto K.Software reliability:measurement,prediction and application[M].New York:Mcgraw-Hill Book Company,1987:77- 112.
Software reliability growth model considering fault detection effort and fault correction effort
ZHAO Yu-xin,CHANG Shuai,WAN Cheng-cheng
(College of Automation,Harbin Engineering University,Harbin 150001,China)
The test effort is an important factor which affects the software testing process.It changes as time goes by,which has a direct impact on the efficiency of the fault detection and correction in the process of testing.Assessing the effect of testing process on the test effort reasonably is the key factor to build a precise software reliability mo-del.Aiming at the existing models’lack of understanding of test effort,the test effort is divided into fault detection effort and fault correction effort,according to the actual test situation.Then a software reliability growth model considering the two efforts is established and evaluated using a group of public dada.The results show that compared with the existing models considering fault detection and correction process,the proposed model has better fitting and prediction ability.
software reliability growth model(SRGM);test effort;fault detection effort;fault correction effort
TP 311
A
10.3969/j.issn.1001-506X.2015.04.38
趙玉新(1980-),男,教授,博士,主要研究方向?yàn)榇皩?dǎo)航及海洋裝備。E-mail:zhaoyuxin@hrbeu.edu.cn
1001-506X(2015)04-0969-05
2014- 04- 14;
2014- 09- 22;網(wǎng)絡(luò)優(yōu)先出版日期:2014- 11- 19。
網(wǎng)絡(luò)優(yōu)先出版地址:http://w ww.cnki.net/kcms/detail/11.2422.TN.20141119.2200.004.html
國家自然科學(xué)基金(51379049);中央高?;究蒲袠I(yè)務(wù)資助(HEUCF110419,HEUCFX41302)資助課題
常 帥(1988-),通訊作者,男,博士研究生,主要研究方向?yàn)楝F(xiàn)代導(dǎo)航設(shè)備可靠性研究。E-mail:chang11shuai12@aliyun.com
萬程程(1989-),女,碩士研究生,主要研究方向?yàn)檐浖y(cè)試、軟件可靠性。E-mail:wanchengcheng1989@126.com