崔 霞 高建華(華東師范大學(xué)計(jì)算機(jī)科學(xué)與軟件工程系 上海 0006)(上海師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 上海 0034)
軟件可靠性增長(zhǎng)模型SRGM[1]的主要目的在于描述軟件在開(kāi)發(fā)設(shè)計(jì)階段,軟件中的錯(cuò)誤不斷被發(fā)現(xiàn)和糾正,可靠性不斷增長(zhǎng)的過(guò)程,并用于估計(jì)軟件的可靠性和殘余錯(cuò)誤數(shù)等。非齊次泊松過(guò)程N(yùn)HPP模型是SRGM中應(yīng)用最廣泛的一類。
文獻(xiàn)[2-3]并未指出沒(méi)有統(tǒng)計(jì)框架的非NHPP類SRGM基于三種加權(quán)平均,能否達(dá)到提升模型預(yù)測(cè)精度的目的、提升的幅度如何等。本文基于一種實(shí)數(shù)編碼GA算法[4],針對(duì)不同的時(shí)間間隔故障數(shù)據(jù)集,求取最優(yōu)的非NHPP模型及其組合加權(quán)系數(shù)。運(yùn)用均方誤差函數(shù),比較組合前后預(yù)測(cè)精度的差異。實(shí)驗(yàn)結(jié)果表明,雖然在非NHPP類SRGM中尚未建立某種統(tǒng)一框架,但基于實(shí)數(shù)編碼GA算法的加權(quán)平均方法依然可以在某種程度上提高SRGM的預(yù)測(cè)能力。模型預(yù)測(cè)精度的提高幅度也較為明顯。
NHPP類SRGM的統(tǒng)一框架性質(zhì)是加權(quán)組合后可靠性預(yù)測(cè)精度提高的理論基礎(chǔ)[2-3,5-10]。本節(jié)將對(duì)沒(méi)有相似統(tǒng)一框架特性的其他非NHPP類SRGM考察加權(quán)組合的效果和特性。
除了NHPP類SRGM 以外,在軟件可靠性工程中應(yīng)用較多的還有Markov過(guò)程模型(例如,Jelinski-Moranda模型,簡(jiǎn)稱J-M模型;Musa執(zhí)行時(shí)間模型,簡(jiǎn)稱Musa模型)、貝葉斯模型(例如,Littlewood-Verrall模型,簡(jiǎn)稱L-V模型;Littlewood’s Bayesian Debugging Model模型,簡(jiǎn)稱LDM模型)等[1]。本文選擇J-M模型、Musa模型、L-V模型和LDM模型作為候選模型。其主要原因:一方面是上述4種模型具有一定的代表性;另一方面該4種模型都使用失效時(shí)間間隔TBF(Time between Failure)數(shù)據(jù)作為模型實(shí)施的要求數(shù)據(jù)。關(guān)于該4種SRGM的具體描述如表1所示。
表1 候選SRGM的具體描述
本文引用文獻(xiàn)[1]中的失效時(shí)間間隔數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)研究,如表2所示。其中值得關(guān)注的是,表2中的數(shù)據(jù)集S2與文獻(xiàn)[1]中的數(shù)據(jù)集DS9是同一測(cè)試和調(diào)試過(guò)程中所產(chǎn)生的失效計(jì)數(shù)數(shù)據(jù)和失效時(shí)間間隔數(shù)據(jù)。它們所反映的軟件可靠性增長(zhǎng)的過(guò)程是相同的。
表2 故障數(shù)據(jù)集的特征
基于實(shí)數(shù)編碼GA算法,針對(duì)表2中的6個(gè)故障數(shù)據(jù)集求解4種候選模型的最優(yōu)參數(shù)。表3、表4是以式(1)為適應(yīng)度函數(shù)求解的結(jié)果。
(1)
式中:mc()對(duì)應(yīng)失效計(jì)數(shù)數(shù)據(jù);m()對(duì)應(yīng)待尋優(yōu)的SRGM的均值函數(shù)MVF(Mean value function)。
從表3、表4可見(jiàn),上述6個(gè)數(shù)據(jù)集下4個(gè)候選模型的MSE值都較大,除了模型的預(yù)測(cè)能力差異之外,還是因?yàn)閷?shí)測(cè)的失效時(shí)間間隔數(shù)據(jù)都是以秒或者毫秒為單位的緣故。LDM模型是用貝葉斯方法對(duì)J-M模型重新描述,從最優(yōu)化的結(jié)果可以看到,最優(yōu)參數(shù)下的J-M模型和LDM模型都全局收斂到了相近的MSE值。
表4 基于MSE適應(yīng)度函數(shù)的模型最優(yōu)參數(shù)(下)
基于實(shí)數(shù)GA算法,運(yùn)算得到4種候選非NHPP類SRGM的算術(shù)加權(quán)平均組合、幾何加權(quán)平均組合和調(diào)和加權(quán)平均組合的結(jié)果分別如表5、表6和表7所示。
表5 非NHPP類SRGM的算術(shù)加權(quán)平均組合
表6 非NHPP類SRGM的幾何加權(quán)平均組合
表7 非NHPP類SRGM的調(diào)和加權(quán)平均組合
由表5-表7的組合系數(shù)求解結(jié)果中可以看出三種加權(quán)平均組合的加權(quán)系數(shù)之間具有明顯的一致性。6個(gè)故障數(shù)據(jù)集中僅S27出現(xiàn)了組合模型的不同和加權(quán)系數(shù)的較大差異以外,其余5個(gè)數(shù)據(jù)集的組合模型完全一致,加權(quán)系數(shù)大小相近。
已知故障數(shù)據(jù)集[1]S2與DS9是同一測(cè)試和調(diào)試過(guò)程中所產(chǎn)生的失效計(jì)數(shù)數(shù)據(jù)和失效時(shí)間間隔數(shù)據(jù)。本文以故障數(shù)據(jù)集S2和DS9為對(duì)象,比較NHPP類候選SRGM和非NHPP類候選SRGM的可靠性預(yù)測(cè)能力的差異,本文建立以下函數(shù):
(2)
(3)
式中:參數(shù)FCmax表示同一故障集中最大失效計(jì)數(shù);參數(shù)TBFmax表示同一故障數(shù)據(jù)集中最大的失效時(shí)間間隔。
χMSE函數(shù)值越小,說(shuō)明模型的可靠性預(yù)測(cè)能力越強(qiáng),預(yù)測(cè)精度越高。從表8的比較結(jié)果中可見(jiàn),NHPP類SRGM的預(yù)測(cè)能力較強(qiáng),這也從實(shí)驗(yàn)的角度說(shuō)明了NHPP類SRGM在軟件可靠性工程中得到廣泛運(yùn)用的原因。
表8 可靠性預(yù)測(cè)能力比較結(jié)果
本文隨機(jī)引用了6個(gè)失效時(shí)間間隔數(shù)據(jù)集,分別用實(shí)驗(yàn)的方法驗(yàn)證了4個(gè)典型的非NHPP類(2個(gè)Markov類和2個(gè)貝葉斯)SRGM的可靠性預(yù)測(cè)能力和加權(quán)組合后的預(yù)測(cè)精度的變化。實(shí)驗(yàn)結(jié)果表明,雖然非NHPP類SRGM沒(méi)有類似的統(tǒng)一框架,而且加權(quán)組合后的可靠性預(yù)測(cè)精度提高幅度也較為明顯。由此可見(jiàn),算術(shù)加權(quán)、幾何加權(quán)和調(diào)和加權(quán)平均的方法對(duì)提高SRGM的預(yù)測(cè)精度具有一定的作用。從表7的比較結(jié)果中可見(jiàn),NHPP類SRGM的預(yù)測(cè)能力較強(qiáng),這也從實(shí)驗(yàn)的角度說(shuō)明了NHPP類SRGM在軟件可靠性工程中得到廣泛運(yùn)用的原因。
[1] Lyu M R.Handbook of Software Reliability Engineering[M].New York,NY,USA:McGraw-Hill,1996.
[2] Huang C Y,Lyu M R,Kuo S Y.A Unified scheme of some nonhomogenous poisson process models for software reliability estimation[J].IEEE Transactions on Software Engineering,2003,29(3):261- 269.
[3] Hsu C J,Huang C Y.Optimal Weighted Combinational Models for Software Reliability Estimation and Analysis[J].IEEE Transactions on Reliability,2014,63(3):731- 749.
[4] 崔霞,高建華.實(shí)物編碼GA算法NHPP類SRGM預(yù)測(cè)能力的實(shí)驗(yàn)研究[J].小型微型計(jì)算機(jī)系統(tǒng),2017,38(10):2336- 2340.
[5] Liu Y,Li D,Wang L,et al.A general modeling and analysis framework for software fault detection and correction process[J].Software Testing Verification & Reliability,2016,26(5):351- 365.
[6] Ullah N,Morisio M,Vetro A.Selecting the best reliability model to predict residual defects in open source software[J].IEEE Computer,2015,48(6):50- 58.
[7] Zeephongsekul P,Fiondella J L,Nagaraju V.Maximum-likelihood estimation of parameters of NHPP software reliability models using expectation conditional maximization algorithm[J].IEEE Transactions on Reliability,2016,65(3):1571- 1583.
[8] Das S,Dewanji A,Chakraborty A.Software reliability modeling with periodic debugging schedule[J].IEEE Transactions on Reliability,2016,65(3):1449- 1456.
[9] Chatzis P S,Andreou S A.Maximum Entropy discrimination poisson regression for software reliability modeling[J].IEEE Transactions on Neural Networks and Learning Systems,2015,26(11):2689- 2701.
[10] Lakshmanan I,Ramasamy S.An artificial neural-network approach to software reliability growth modeling[J].Procedia Computer Science,2015,57:695- 702.