孫智超,張 策,江文倩,劉凱衛(wèi),范苗苗,李文毓,溫雅菲
(1.哈爾濱工業(yè)大學(威海)計算機科學與技術學院,山東 威海 264209;2.華為技術有限公司南京研究所,江蘇 南京 210012)
隨著信息技術與網絡的發(fā)展,計算機的應用也越來越廣泛。計算機軟件作為用戶使用計算機的主要載體與功能提供者,在生產生活中具有重要作用。人類對軟件功能的要求不斷增加,軟件的規(guī)模與復雜度也在不斷增加,軟件質量管理在軟件開發(fā)與測試中愈加重要。軟件可靠性是軟件質量評估的重要因素,高質量的軟件必然是高可靠的。軟件可靠性增長模型SRGM(Software Reliability Growth Model)是軟件可靠性研究的主流方法之一。在一般的SRGM模型中,有2大重要參數[1],一是軟件總故障,它對軟件系統(tǒng)中整體故障數量進行了抽象;二是故障檢測率FDR(Fault Detection Rate),它描述了軟件測試環(huán)境的測試能力。為了更好地掌握軟件可靠性,以達到預期(發(fā)布)要求,需要分析故障檢測率在可靠性研究中的作用。
故障檢測率FDR刻畫了測試環(huán)境、測試技術、測試資源消耗情況及測試人員技能的綜合能力[2]??陀^上測試環(huán)境的不同,以及測試人員實施測試策略的差異,都會使不同軟件系統(tǒng)在測試中表現(xiàn)出不同的外在特征。從建立數學模型的角度來看,不同模型的區(qū)別與故障檢測率FDR關聯(lián)緊密。這樣,故障檢測率FDR從整體上刻畫了測試效果,使其成為影響SRGM性能的主要評測點,對軟件可靠性建模、軟件故障數量預測、最優(yōu)發(fā)布時間的確定和測試成本的控制等工作具有重要意義。
近些年,軟件可靠性增長模型的研究重點主要集中于軟件可靠性模型[2,3]、模型參數估計方法[4]和確定軟件發(fā)布時間[5]等方面,而對于已有模型的研究不夠深入,特別是SRGM的2大重要參數對模型性能的影響分析。本文主要從故障檢測率出發(fā),在失效數據集FDS(Failure Date Set)上建立統(tǒng)一的模型,提出2種評測機制:單SRGM單FDS多FDR模式和多SRGM多FDS多FDR模式。通過多屬性決策的評測算法,分析可靠性模型、失效數據集FDS與故障檢測率FDR三者之間的關聯(lián)?;趯嶒灲Y果分析故障檢測率對于SRGM的影響。
本文結構組織如下:第2節(jié)回顧了目前已有的故障檢測率函數;第3節(jié)闡述了SRGM的建模方法,包括基本假設、建模方法與具體計算方法等;第4節(jié)基于2個方案分析了不同故障檢測率函數對SRGM模型的擾動影響;最后對全文進行總結。
故障檢測率表示單位時間內單個故障被檢測到的平均概率[6],通常用b(t)表示。Goel與Okumoto[7]提出了最早的SRGM模型——G-O模型。在此模型中,故障檢測率被認為是常量型的,即b(t)=b,并不能反映出隨著測試時間的增加,測試人員熟練程度的變化,具有明顯的缺陷。Yamada等[8]提出了S型增長趨勢的故障檢測率函數——延遲SRGM模型和變動SRGM模型,具有更強的適應能力,靈活性更高,模型性能預測效果更好。Yamada等[9]提出了考慮測試工作量的軟件可靠性增長模型,所提模型具有良好的性能。Huang等[10]提出了一個考慮學習因子的故障檢測率模型,并完成了相關SRGM模型推導工作。Pham[11]提出了一個Vtub型的故障檢測率函數,在測試初期考慮了軟件剛加入測試,故障檢測率較高,隨著測試時間的增加,故障檢測率逐漸降低并趨于穩(wěn)定,在測試工作的末期,隨著上線日期的臨近,故障檢測率又呈現(xiàn)出升高的趨勢。Song等[12]提出了基于操作環(huán)境不確定性的廣義模型,其核心是在故障檢測率函數中增加了體現(xiàn)環(huán)境變動的隨機變量,一般為伽瑪分布。此外,Pham等[13]提出了一個具有隨機性的通用故障檢測率模型,并考慮了加性高斯白噪聲與靜態(tài)乘性噪聲2種不同情況。
本文遴選了6個廣泛應用的故障檢測率函數,并分析了這些故障檢測率函數對于SRGM的影響。如表1所示,這6個故障檢測率可劃分為4種類型:常量類型、冪函數類型、S型和指數型。
首先,給出SRGM建模的公共假設:
(1)軟件失效滿足非齊次泊松過程NHPP(Non-Homogeneous Poisson Process)過程[14];
Table 1 Type of fault detection rate
(2)在(t+Δt)內檢測到的故障數量與當前軟件中剩余的故障數量成比例;
(3)軟件修復過程中存在排錯不完全和新故障引入的現(xiàn)象[15]。
Figure 1 Evaluation and decision-making process of b(t)in solution 1
本文將在以上假設的基礎上建立不同故障檢測率對應的SRGM模型,基本的微分方程形式如式(1)所示:
(1)
其中,m(t)為累計故障檢測函數,其值表示軟件測試中0~t時間段內已被檢測出的故障數量;b(t)是故障檢測率函數,其值在(0,1);a(t)表示軟件總故障數量,可設定為常量,或測試時間t的某種函數;p是故障修復概率,其值在(0,1)。將不同形式的a(t)、b(t)和變量p帶入微分方程即可求解出對應的m(t)。
本文將從以下3步出發(fā),逐步確定FDR、SRGM和FDS:
第1步基于我們前期的研究成果和大量的實驗,遴選出在預定FDS上具有優(yōu)秀性能的SRGM集合。這些SRGM集合包括第2節(jié)中的從FDR視角建立的可靠性模型;
第2步建立待觀測的FDR集合。此集合雖不能由前期實驗得出,但可選擇當前研究中出現(xiàn)頻率較高的FDR;
第3步建立評測FDR及其對SRGM可能產生影響的觀測點集合。
由于每種失效數據集FDS都對應著特定的軟件測試環(huán)境,同時SRGM的基本假設可以分為考慮完美排錯或不完美排錯,本文考慮到在單一與眾多測試環(huán)境下、不同SRGM假設情況下的故障檢測率對于SRGM模型的不同影響,提出了2個方案進行實證分析,以全面地探究故障檢測率對SRGM性能的影響。方案1考慮了單一測試環(huán)境、完美排錯的SRGM模型中故障檢測率FDR對于SRGM模型的影響。方案2考慮了多測試環(huán)境、不同排錯假設中故障檢測率FDR對SRGM模型的影響。
3.1.1 方案1——單SRGM單FDS多FDR模式
在完美排錯的假設的基礎上,改變式(1)中的b(t)函數,便可得到不同故障檢測率FDR對應的累計故障檢測函數m(t)。在單一失效數據集上分析不同m(t)的擬合性能與預測性能,即對應不同故障檢測率對應的SRGM模型的性能。由此進行分析,便可得到固定測試環(huán)境下的故障檢測率FDR對軟件可靠性增長模型的影響。這種方案被稱為單SRGM單FDS多FDR模式。通過觀測得到的擬合與預測數值,并經過適當的決策算法可給出FDR排序結果(即偏序集合)。圖1和算法1分別描述了此方案的基本流程和相應的執(zhí)行算法EvaluateFDREffectOnSRGM—SSSFMF,其中m表示參與對比的故障檢測率函數的數量。算法1中SortFDR()實現(xiàn)對模型的排序,排序的基本算法為基于優(yōu)劣解距離法TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)[16]的SRGM決策算法,詳見3.2節(jié)。
算法1方案1的執(zhí)行算法EvaluateFDREffectOnSRGM—SSSFMF
輸入:(通過大量實驗)遴選出的SRGM模型m(t)、失效數據集DS、故障檢測率集合FDRSet=[bt1,bt2,…,btm]。
輸出:FDR偏序集合FDRSet。
Step1遍歷故障檢測率函數,計算對應的累計故障檢測函數m(t),并計算失效數據集上m(t)的擬合預測性能:
i=0;
Foreachbi(t)in(FDRSet){
MT[i]=Fitting(m(t),DS,bi(t));
MSE[i]=CalculateMSE(MT[i]);
R_square[i]=CalculateR_square(MT[i]);
Variation[i]=CalculateVariation(MT[i]);
RE[i]=CalculateRE(MT[i]);
i++;
}
Step2通過信息熵計算每個性能指標的權重:
W=CalculateWeight(MT,MSE,R_square,Variation,RE);
Step3得到經決策算法處理后的FDR偏序集合:
FDRSet=SortFDR(MT,MSE,R_square,Variation,RE,W);
Step4returnFDRSet
在這種單SRGM單FDS多FDR模式中,由于是基于單個的SRGM和失效數據集FDS來進行研究,因而其被限定在某個特定的軟件測試環(huán)境下。基于該分析結果便于改進測試策略,使得其故障檢測率能夠向著符合測試要求的方向改進。
3.1.2 方案2——多SRGM多FDS多FDR模式
為了更廣泛地分析故障檢測率對軟件可靠性的影響,方案2考慮了基于完美排錯與不完美排錯假設的SRGM模型,并在多個失效數據集FDS上進行實證分析。這種情況被稱為多SRGM多FDS多FDR模式。
在方案1基礎上,將遴選出的多個SRGM和多個FDS分為若干個組,在每一組內將不同的FDR代入到式(1)中,求解出對應的SRGM模型,并在失效數據集上進行實驗。通過觀測實驗的擬合與預測指標,可對SRGM模型進行排序,進而得到不同形式的FDR的性能綜合指標。對每一組均進行上述實驗,得到了多組不同F(xiàn)DR的性能綜合指標。最后經過適當的決策算法可給出全部FDR的排序結果(即偏序集合)。圖2和算法2分別描述了此方案的基本流程和相應的執(zhí)行算法EvaluateFDREffectOnSRGM—MSMFMF,其中n表示SRGM模型的數量。算法2中SortFDR()實現(xiàn)對模型的排序,排序基本算法為基于TOPSIS的SRGM決策算法,詳見3.2節(jié)。
算法2方案2的執(zhí)行算法EvaluateFDREffectOnSRGM—MSMFMF
輸入:(通過大量實驗)遴選出的SRGM 模型集合SRGMSet和失效數據集集合DSSet、故障檢測率集合FDRSet=[bt1,bt2,…,btm]、SRGM權重W1、失效數據集權重W2。
輸出:FDR偏序集合FDRSet。
Step1計算每個組中針對每個不同SRGM的FDR單一性能值:
i=0,j=0;
Foreachbi(t)inFDRSet{
Foreachmj(t)inSRGMSet{
MT[j]=Fitting(mj(t),DSSet[j],bi(t));
MSE[j]=CalculateMSE(MT[j])
R_square[j]=CalculateR_square(MT[j]);
Variation[j]=CalculateVariation(MT[j]);
RE[j]=CalculateRE(MT[j]);
FDRSingleValue[j]=GetFDR(MT[j],MSE[j],R_square[j],Variation[j],RE[j],W);
j++;
}
FDRItegraedValue[i]=GetFullFDR(FDRSingleValue);
i++;
}
Step2通過信息熵計算每個性能指標的權重:
W=CalculateWeight(MT,MSE,R_square,Variation,RE);
Step3得到經決策算法處理后的FDR偏序集合:
FDRSet=SortFDR(FDRIntegratedValue,W,W1,W2);
Step4returnFDRSet
Figure 2 Evaluation and decision-making process of b(t)in solution 2
在這種多SRGM多FDS多FDR模式中,由于是基于多個SRGM和多個失效數據集FDS來進行研究,并沒有被限定在某個特定的軟件測試環(huán)境下,這樣可以用于綜合分析不同F(xiàn)DR的真實性能,對軟件測試過程中的共性情況進行分析,從而得到對于軟件測試開發(fā)具有重要價值的結論來指導實際軟件測試過程。
3.1.3 擬合與預測指標選擇
Table 2 Fitting indices
預測指標RE主要通過觀測預測曲線形狀與RE曲線最后5個值的絕對值平均數綜合考量,借助層次分析法AHP(Analytic Hierarchy Process)將預測實驗結果進行量化,最終轉化為定量的性能指標。RE指標量化值如表3所示,共分為5級。最終RE指標為標準化后的量化級別。
Table 3 Quantified level of RE indicator
根據SRGM模型在失效數據集上的擬合預測指標對模型進行排序,這是一個多準則決策問題。其中各指標權重采用信息熵的方式計算確定,具體的決策算法為基于優(yōu)劣解距離法TOPSIS算法[16]。采用信息熵+TOPSIS對所選模型進行排序,得出綜合性能最優(yōu)的SRGM,進而分析故障檢測率對軟件可靠性的影響。
n個SRGMs在指定數據集上的m個擬合與預測值排列組合成多屬性決策矩陣MADM(Mutltiple Attribute Decision Matrix)的形式,如式(2)所示。
(2)
3.2.1 基于信息熵計算權重
對MADM每一列正則化得式(3):
(3)
隨后根據正則化矩陣計算每一個指標的信息熵,如式(4)所示:
(4)
其中,Ei為第i個指標的信息熵,E0為信息熵常量,值為(lnm)-1。
根據式(5)計算每一個指標的發(fā)散度:
Di=1-Ei
(5)
根據式(6)計算每一個指標的信息熵權重:
(6)
3.2.2 基于TOPSIS進行決策
在決策矩陣MADM的基礎上,選出每一列的最大值r(n)與最小值r(1)構成SRGM的正向最優(yōu)解與負向最劣解,得到的最優(yōu)最劣決策矩陣PNDM(Positive Negative Decision Matrix)形式如式(7)所示:
(7)
為了消除不同指標值的量綱的影響,將矩陣按照式(8)的形式標準化:
(8)
標準化之后的矩陣如式(9)所示:
(9)
再對每一列乘以3.2.1節(jié)中計算出的每一個性能指標對應的權重,得到加權最優(yōu)最劣決策矩陣WPNDM(Weighted Positive Negative Decision Matrix),如式(10)所示:
WPNDMstd=
(10)
隨后計算第i個模型SRGMi的性能指標(qi1,qi2,…,qim)到正向最優(yōu)解集合(q(n)1,q(n)2,…,q(n)m)和負向最劣解集合(q(1)1,q(1)2,…,q(1)m)的距離,進而計算接近程度Hi,確定最終SRGMs偏序順序。
(11)
(12)
則第i個模型SRGMi與理想解的接近程度Hi可通過式(13)計算:
(13)
對n個SRGMs的接近程度Hi進行排序,即可得到SRGM在該數據集上的偏序集合[H(1),H(2),…,H(n)],其中H(n)對應的SRGM即為在該數據集上性能最佳的模型,H(1)對應的模型即為該數據集上性能最差的模型。隨即可根據排序結果分析不同F(xiàn)DR函數對SRGM性能的影響。
TOPSIS決策算法相較于經典的多屬性決策算法(加權平均法與熵值法),既考慮了備選解中的最優(yōu)解應盡可能地靠近理論最優(yōu)解,又考慮了備選最優(yōu)解應盡可能地遠離理論最劣解。相較于僅考慮每一個備選解指標的簡單加權算法與熵值法,TOPSIS決策算法對于SRGM模型排序這種復雜多屬性決策問題有更好的決策結果。
本節(jié)主要介紹實證分析中涉及的SRGM類型、SRGM模型表達式與失效數據集等信息。
4.1.1 SRGM模型
對于方案1(單SRGM單FDS多FDR模式),本文選用完美排錯模型,假設軟件總故障數量為固定常數,即a(t)=a,故障修復概率固定為1,即p=1,SRGM模型的表達式見表4。表中給出了完美假設下不同b(t)函數對應的SRGM模型,隨后在公開發(fā)表的失效數據集上進行擬合與預測,觀測不同F(xiàn)DR對于SRGM模型的影響。
Table 4 Models compared in solution 1
對于方案2(多SRGM多FDS多FDR模式),選擇了如表3所示的軟件可靠性增長模型,其中選擇2類SRGM模型,分別為完美排錯與不完美排錯。完美排錯的基本假設與方案1所選擇模型相同;對于不完美排錯SRGM模型,本文選取在之前的研究中性能表現(xiàn)較好的軟件總故障模型——折中類型a(t)。為了簡便計算,取故障修復概率p(t)=p,參與比較的各模型的表達式見表5。
Table 5 Models compared in solution 2
表5展示了不同b(t)在不完美與完美排錯2種假設下對應的SRGM模型表達式,隨后將在5個真實失效數據集上對SRGM模型進行擬合,并計算出擬合性能與預測性能,以分析不同SRGM模型、在不同數據集上FDR對SRGM性能的綜合影響。
4.1.2 失效數據集
失效數據集FDS是評估SRGM模型的性能、分析故障檢測率對SRGM模型影響的基礎。本文將會使用5個失效數據集進行相關實驗:(1)AT&T Bell實驗室的網絡管理系統(tǒng)[17],記為DS1;(2)某大型醫(yī)療記錄系統(tǒng)[18],記為DS2;(3)數組定義語言解釋器Space[19],記為DS3;(4)Eclipse開放源碼軟件系統(tǒng)[20],記為DS4;(5)Apache開源項目ActiveMQ軟件系統(tǒng),記為DS5;(6)PL/I數據庫應用[21],記為DS6。
第1個數據集DS1記錄了AT&T Bell實驗室開發(fā)的網絡管理系統(tǒng)的故障數量,在680.02個CPU單位時間內累計記錄了22個軟件故障。第2個數據集DS2記錄了某大型醫(yī)療系統(tǒng)3個版本的故障信息。該系統(tǒng)由188個組件構成,在18周的記錄中,累計發(fā)現(xiàn)176個故障。第3個數據集DS3來自于Space程序,包括9 564行C語言代碼。在觀測的403個CPU單位時間內,共發(fā)現(xiàn)21個故障。第4個數據集DS4記錄了開源項目Eclipse自2001年10月10日至2013年12月17日期間遇到的所有故障數量,共計6 495個。第5個數據集DS5選取了ActiveMQ軟件系統(tǒng)自2020年4月18日起87周的累積檢測故障數量(包括正式版與測試版),共計345個故障。第6個數據集DS6是一個由大約317 000行代碼組成的PL/I數據庫應用軟件系統(tǒng)的數據。在19周內,消耗了47.65個CPU單位時間,刪除了328個軟件故障。圖3展示了本文所選數據集的增長曲線。從圖3中可以發(fā)現(xiàn),失效數據集的增長趨勢為指數型增長(DS1與DS3等)與S型增長(DS2),其中指數型增長也可以劃分為數學曲線上的凸型指數增長(DS1)與凹型指數增長(DS3)。
Figure 3 Growth curve of failure data set
4.2.1 方案1實驗分析
本節(jié)主要分析單SRGM單FDS多FDR模式在真實失效數據集上基于TOPSIS決策算法得出的偏序序列。在失效數據集DS6上對方案1進行分析,基于參數估計、擬合性能計算與預測性能計算,得到方案1的初始多屬性決策矩陣MADM1與各性能指標對應權重如表6所示。從表6可以看出在對應數據集上,預測性能RE指標的信息熵權重最大,3個擬合指標中MSE信息熵權重最大,R2與Variation對應權重近似一致。所有擬合指標權重和為0.571,略大于預測性能指標權重。
Table 6 Performance indicators and corresponding weights
經計算,方案1中模型(M-1~M-6)與理想解的接近程度如表7所示,分析結果可以發(fā)現(xiàn),在完美排錯測試環(huán)境中,對于所選數據集DS6,冪函數型b2(t)對應的M-2模型性能最好,S型b3(t)對應的M-3與指數型b6(t)對應的M-6性能較好,常數型b1(t)對應的M-1模型性能最差。
Table 7 Proximity of the models in solution 1
冪函數型b2(t)描述了隨著測試時間增加,測試人員對于故障的檢測能力不斷增強,這符合凸型指數型曲線的增長趨勢,故其對應的模型M-2性能最出色。復雜指數型b5(t)反映了隨著測試時間增加,故障檢測率不斷遞減,這與數據集的增長趨勢相反,故其對應的模型M-5性能較差。常量型b1(t)描述了故障測試率不變的情況下,其對應的模型M-1缺少靈活性,故其性能表現(xiàn)最差。
4.2.2 方案2實驗分析
為了進一步分析不同F(xiàn)DR的真實性能,本節(jié)遴選了5個真實失效數據集DS1、DS2、DS3、DS4和DS5。DS1具有凸型指數增長趨勢,DS2具有S型增長趨勢,DS3具有凹型指數增長趨勢,這3個數據集均來源于軟件可靠性研究中早期經典數據集;DS4與DS5來自于開源軟件平臺,其數據集的更新時間較新、數據集規(guī)模更大。將表5中模型(M-1~M-12)在這5個數據集上進行擬合性能與預測性能分析(由于頁面限制,可聯(lián)系作者獲取具體擬合預測指標數據)。
對實驗數據集上的性能指標權重進行觀測可知,權重的大小主要由各模型在不同數據集上性能指標的差異決定,模型間的指標值差距越大,混亂程度越高,信息熵權重越大。反之,差距越小,則信息熵權重越小,例如R2指標。
表8展示了經由 TOPSIS算法排序后的模型接近程度指標與次序。對于凸型指數增長失效數據集DS1,多數SRGM模型的接近程度值大于0.5,體現(xiàn)出SRGM模型在凸型指數增長數據集上具有良好的擬合預測能力,其中基于不完美排錯假設的M-7模型性能最好,M-10模型次之;基于復雜指數型故障檢測率的M-6和M-12的性能最差。對于S型增長失效數據集DS2,相較于DS1整體的接近程度指標值稍低,說明SRGM模型對于S型增長數據集的擬合預測能力稍弱,其中基于不完美排錯假設的M-12模型性能最好,M-3模型性能次之,基于完美排錯假設的M-4和M-5模型的性能最差。對于凹型指數增長失效數據集DS3,基于不完美排錯的M-9模型性能最好,M-3模型次之,基于完美排錯假設的M-1和 M-5模型的性能最差。對于開放軟件數據集DS4與DS5,基于完美排錯的M-9和M-10模型性能較好,基于完美排錯的M-4模型和不完美排錯的M-12模型性能表現(xiàn)較差。
Table 8 Proximity of the models in solution 2
根據表8,對于早期發(fā)布的失效數據集(DS1~DS3),基于不完美排錯假設的模型(M-7~M-12)的排序性能優(yōu)于基于完美排錯假設的模型(M-1~M-6),表明不完美排錯假設的模型更加符合早期的大型軟件測試工作,在不同的真實失效數據集上性能更穩(wěn)定與出色。但是,對于大型開源軟件系統(tǒng)的失效數據集,在軟件發(fā)布后的故障主要來源于開源社區(qū)反饋,開發(fā)團隊對于故障的排除具有周期性、徹底性的特點,因此完美排錯模型M-5和M-1在開源軟件失效數據集上性能表現(xiàn)良好。
為了進一步分析不同故障檢測率函數對SRGM的影響,現(xiàn)對5個數據集上的模型排序序列進行加權平均,求出模型的加權平均次序。對已收集數據集分類統(tǒng)計,將各個失效數據集的權重占比依次設置為0.2,0.2,0.1,0.25,0.1。對偏序序列進行加權計算后結果如表9所示。
Table 9 Sorting when data sets are weighted
從表9可以看出,大多數基于不完美排錯假設的模型的性能要比完美假設的更好,說明考慮不完美排錯假設的模型更加符合實際軟件測試工作,因此普遍適用性更強,在不同真實失效數據集上性能更穩(wěn)定與出色。
最后,對基于不同假設的SRGM進行加權處理,以探究不同故障檢測率對軟件可靠性影響。對于權重的選擇,考慮到基于不完美排錯假設的模型更具有參考意義,故將其權重設置為0.5,將完美排錯假設的模型的權重設置為0.5,得到的排序權重與次序如表10所示。冪函數類型與第1個S型FDR的綜合性能位列第1梯隊,在不同數據集上、不同SRGM假設中性能最為出色,2個復雜指數型FDR的綜合性能最差。冪函數類型FDR描述了在軟件測試中故障檢測率隨著軟件運行時間的增加逐漸提高,即隨著測試時間的增加,對于故障的檢測能力越強,這與現(xiàn)實生活中大多數軟件測試環(huán)境一致。S型FDR對應更加靈活、復雜的測試環(huán)境,其對應的SRGM模型也獲得了較好的性能。復雜指數型FDR呈現(xiàn)出了隨測試時間遞減與先增后減的變化趨勢,這與一般真實測試環(huán)境相去甚遠,故對應的SRGM性能最差。
Table 10 Sorting when SRGMs are weighted
方案1與方案2最后的故障檢測率FDR的次序值并不完全相同,這表明對于特定的數據集,故障檢測率對于SRGM模型的性能影響因素還需要結合歷史故障數據、失效數據量和程序規(guī)模等信息。另一方面,在單一數據集單一假設基礎上分析故障檢測率對SRGM性能影響仍存在一些局限性,最終導致2個方案的b(t)函數偏序排序結果不完全相同。
根據本文所選擇真實失效數據集與SRGM模型,可對6個FDR函數進行性能排序,結果為b3(t)>b2(t)>b1(t)>b4(t)>b5(t)>b6(t),按照b(t)的類型進行排序,結果為S型1>冪函數類型>常數類型>S型2>復雜指數型。
b(t)對應的SRGM性能優(yōu)劣與真實失效數據集的性質有聯(lián)系,故障檢測率隨時間遞增的冪函數FDR對應的SRGM模型在凸型指數增長的數據集上性能突出,S型FDR具有更高的靈活性,在眾多數據集上性能突出,體現(xiàn)出適應性廣的特性。復雜指數型的b5(t)更適用于不完美排錯假設下的SRGM模型。
探究故障檢測率FDR對SRGM模型的影響可以幫助測試人員建立性能優(yōu)秀的軟件可靠性模型,進而在測試過程中對故障數量、軟件系統(tǒng)總體可靠性、測試成本和軟件發(fā)布時間進行估計,以達到控制軟件測試成本、加強軟件管理和確定軟件發(fā)布時間等目的。
本文研究了不同F(xiàn)DR模型對于SRGM模型性能的影響,并進行了實證分析。首先,回顧了不同類型的故障檢測率b(t)形式,共有常量類型、冪函數類型、S型、指數型共4種類型6個表達式。隨后,針對單SRGM單FDS多FDR模式、多SRGM多FDS多FDR模式,利用信息熵聯(lián)合TOPSIS決策算法,得出軟件故障檢測率函數對應的SRGM模型的偏序序列,分析FDR對SRGM模型的性能影響因素。通過實驗發(fā)現(xiàn),冪函數類型FDR在凸型增長數據集上表現(xiàn)出色,指數型在S型增長與凹型增長數據集上表現(xiàn)較好,S型FDR具有較強的柔韌性,適用于不同的數據集,綜合性能最好。本文研究對于選擇合適的故障檢測率函數建立軟件可靠性模型有一定的指導意義,并為測試資源分配和確定最優(yōu)發(fā)布時間提供參考。