張 策,孟凡超2,崔 剛,劉宏偉,官紅玉2
(1.哈爾濱工業大學計算機科學與技術學院,150001哈爾濱;2.哈爾濱工業大學(威海)計算機科學與技術學院,264209山東威海)
SRGM中TE建模機制與模型比較分析
張 策1,2,孟凡超2,崔 剛1,劉宏偉1,官紅玉2
(1.哈爾濱工業大學計算機科學與技術學院,150001哈爾濱;2.哈爾濱工業大學(威海)計算機科學與技術學院,264209山東威海)
針對當前與軟件可靠性增長模型SRGM(software reliability growth model)緊密相關的測試工作量TE(testing effort)的研究現狀,以及全面評價測試工作量函數TEFs(testing effort function)性能的需要,對SRGM下TE相關的建模與模型比較問題進行深入研究.分析了近40年的TE發展歷程與內容演變,對其與測試成本間關聯進行剖析;對典型的TEFs進行了全面梳理與述評;研究了考慮TE的SRGM建模過程;針對8個典型的TEFs,在已發表的4組數據集上進行了深入的性能比較與評述.研究結果表明,有效的TEF可為基于SRGM的可靠性相關研究提供重要決策支持,對考慮TE 的SRGM進行綜合評價是后續研究的關鍵.
軟件可靠性;測試工作量;測試工作量函數;軟件可靠性增長模型;成本
軟件測試中,在測試工作量 TE(testing effort)的不斷消耗下,故障不斷被檢測和排除掉,總故障數量a(t)保持下降趨勢,使得軟件可靠性R(t)獲得增長.TE的消耗代表著測試成本的支出,而軟件測試通常受制于有限的預算限制;同時,TE的消耗進度也應該受到有效的控制.以可靠性為目標之一的測試過程應被合理的管控,低效與冗余的測試可能導致額外的成本開銷[1],對成本管控和最優發布時間決策帶來隱患.TE對以軟件可靠性增長模型 SRGM(software reliability growth model)為基礎的可靠性工程相關研究形成了重要支撐.
本文對TE的建模過程,考慮TE的SRGM建模,以及現有的測試工作量函數TEF(testing effortfunction)評價進行了綜合研究與評述.首先給出了有關概念,對TE的發展歷程與研究內涵進行分析,并對當前TEFs進行了全面梳理;然后對考慮TE的SRGM建模機制進行剖析;最后在4個已發表的數據集上對8個典型的TEFs進行了全面比較.
1.1 相關定義
定義1 測試工作量TE[2-4]用以描述軟件測試過程中所消耗的資源,可表示為測試中所花費的測試案例與分析數據的數量、CPU時間、時鐘時間、日歷時間數或者人力費等.
定義2 測試工作量函數TEF是采用數學表達式的形式對測試過程中TE的消耗進行描述的數學工具.
定義3 軟件可靠性增長模型SRGM[5-6]是在軟件開發的測試階段與操作運行階段,基于失效數據,描述軟件測試過程中累積檢測或修復的故障數量,TE與測試時間等的數學關系,是實現建模軟件可靠性提高過程的數學工具.
1.2 TE發展歷程變遷
與TE緊密相關的研究最早可追溯到文獻[7],近40年來科研人員對TE的研究伴隨著SRGM的廣泛應用得到了足夠重視,圖1給出了TE的發展歷程及研究內容的演變.可以看出,自20世紀90年代后期始,TE與SRGM開始融合,并在以可靠性為核心的研究中占有重要地位.

圖1 TE發展歷程與研究內容演變
與SRGM相關的基于TE的研究主要包括: 1)考慮TE進行SRGM的建模,提高模型的有效性;2)進行TE的分配與管控,實現測試過程中對以可靠性為核心的指標調整;3)建立成本模型,在“成本+可靠性”的綜合統籌下,實現軟件的預期發布.
1.3 討論:TE與測試成本的區別與關系
在TE與測試成本的關系上,二者緊密相關但存有明顯區別:TE的本質是如其定義中所述的測試資源;測試成本指測試過程中所花費的總成本C(T).雖有文獻[8-9]認為TE就是測試成本,但顯然是片面的,因為只是全部軟件測試成本中包含了TE花銷的成本而已[10].例如,測試成本在文獻[1,5]中被采用


軟件測試中,TE被不斷消耗的過程表示了失效被如何有效地檢測到[11].TEF能被用來描述測試過程中的工作剖面,是對(測試)資源消耗的一種定量描述,存在多種形式.
2.1 Yamada Exponential、Yamada Rayleigh與Yamada Weibull型TEF:基于微分方程法






顯然,式(2)與式(3)是式(4)的一種特殊情況.
2.2 Exponential Weibull型TEF
在文獻[13]的基礎上,文獻[14-15]提出了一般化的EW TE(Exponentiated Weibull:指數威布爾型)對軟件失效行為進行預測,并認為EW TEF在評估可靠性過程中表現優異,有較強的適應性與柔韌性.

式中:β為比例調節參數,δ、θ分別為形狀參數.對此3個參數進行討論,得到表1中結果.

表1 EW TEF特定條件下演化結果
2.3 泛Logistic型TEF
作為Rayleigh TEF的替代,Logistic TEF最早由Parr[16]于 1980年提出,后被廣泛研究.文獻[17]認為Weibull類型的TEF當δ>3時會出現所謂的“峰現象”,并不符合實際軟件測試,據此文獻[1,3,5,10,17-18]提出了Logistic TEF、一般化的Logistic TEF和更一般化的Logistic TEF,分別為

此外,在文獻[19]中提出Log-Logistic TEF為

整體而言,由于Logistic TEF具有S型的變化趨勢,可描述多種TE消耗情形,得到了廣泛應用.
2.4 討論:TEFs必要說明



現有TEF模型在數學表達式上存在很大差異,因而其在不同的數據集的表現上一定會存在較大不同.
在SRGM的相關研究中,對TE的研究均是借助TEF來進行的,主要涵蓋SRGM建模、TE管控和最優發布3個方面上,且前者是后兩者研究的基礎.TE為3個問題的研究提供了必要的支撐,使得所建立的SRGM更加考慮到實際測試因素,對TE的管控更為高效,最優發布具備決策參考支持,并最終為獲得預期的可靠性目標提供重要保障.在文獻[6]中,已對TE分配與調控和最優發布策略進行分析,這里從略.
3.1 考慮TEF的SRGM基本建模方法
測試階段軟件可靠性與故障檢測與修復所花費的TE緊密相關[11],通常所建立的SRGM中直接包含有TEF.例如,典型的考慮TE到SRGM中的建模方法如下[1-3,5,10-11,15,17-18,21-25]:式中:m(t)為[0,t]內累計檢測到的故障數量,a為軟件中的總故障個數.該微分方程建立的假設基礎為:[0,t]內累計檢測到的故障數量與當前剩余的故障數量下所花費的TE時的故障檢測率r(t)成比例.

3.2 討論:不完美排錯下的建模

由于測試環境中隨機因素的影響,考慮TEF 的SRGM應向不完美排錯研究[12,25]的趨勢轉變,將更多的實際因素融入進來.為此,文獻[20,26]給出了更加一般化且具有較強柔韌性的框架模型,支持不完美排錯與TE的綜合考量為式中:a(t)、c(t)分別為[0,t]內軟件中總的故障數量和累計修復的故障數量;h(t)、p(t)分別為故障引入比例函數和故障改正比例函數.式(10)描述了更多的測試細節,可以演變為多個現有的模型;同時,在現有研究的基礎上給出了改進的初值不為零的Logistic TEF為

基于此所獲得的SRGM在性能上優于其他模型[20].
由于TEF的引入,測試過程中可以借助調整TE的方式來影響m(t),使得測試中的可靠性能向預期增長(測試階段的可靠性)為

相比于傳統SRGM,考慮TEF的SRGM表現得更為優秀,這可以被解釋為TEF的偏差在它的基本概念中已經考慮到了人力因素和不確定性.
軟件發布不僅要考慮到可靠性要求,成本因素也至關重要[18],“成本+可靠性”綜合標準[15]已成為最優發布的統籌考慮.
4.1 性能評價標準與數據集選擇
在對模型與真實數據的擬合評價上,MSE,MEOP,Variation,RMS-PE,TS和BMMRE常被用來作為度量的選擇,這些數值越小表明擬合效果越好,R-square越接近于1越好;RE被作為模型對未來數據預測的評價標準,RE越趨近于0表明預測效果越好.式中:K為數據樣本數量大小;p為參數個數;Wi為到ti時實際觀測到的數據;W(ti)為到ti時利用模型得到的估算值.


4.2 參與比較的TEFs
這里,本文選取典型的8個TEFs模型用于比較,如表3所示,并依次編號為①~⑧.其中③~⑤為由⑥中的模型演化而來.
4.3 TEF性能差異化比較
首先,對表3中的TEFs在DS1~DS4上進行參數擬合,并畫出了TEFs在4組數據集上的實際TE消耗曲線與W(t)之間的擬合情況,如圖2所示.
1)在DS1、DS2和DS4上8個TEFs與實際的TE消耗情況擬合的較好,而且W(t)曲線基本呈現出通過原點的斜率為k的直線態勢.例如,從圖2的4幅圖中均可以看出,W(t)= W 1-e-φt()的曲線接近于通過原點的線性形狀.造成這種現象的原因以及斜率k的近似計算可解釋為:對于這些數據集其估計得到的參數值非常的小(例如,DS1中,=0.000 590 895 2).此時,可以得到,因而呈現線性關系,其斜率為k=Wφ.

表2 TE數據集遴選—真正的實際應用案例

表3 參與比較的TEFs

圖2 TEF在4組數據集上的擬合曲線
2)在DS3上,TEFs的擬合差別比較明顯,其中②、③和④出現了較大的偏差,其余模型擬合效果較好.這主要是由于DS3中實際的TE數據與②、③和④模型函數的本質差距較大造成的.
為了進一步區分TEFs在數據集上的擬合差異,本文計算了具體的比較標準值,結果如表4所示.
為了清晰地顯示出TEFs在4組數據集上不同標準上的差異,表4中每個數據集上,性能值最優的采用*的形式標出,其次采用雙下劃線的形式標出,再次采用單下劃線的形式標出.由表4可以明顯看出:
1)8個TEFs在4組數據集上的比較結果中,第⑧個TEF模型(變形Logistic型)的結果值是最優的:其在28(4*7)個性能值中有26個數值是最優的,且另外2個是次優的.
2)其次是第⑥個TEF模型(一般指數型),其有17個在剩余7個TEF模型的比較標準中最優,另有7個標準是次優的.
3)再次是第⑤個TEF模型(Yamada Weibull型),在除了第⑧個模型外剩余的6個模型的比較標準中,有19個是最優的.
因而,本文可以充分地認為,第⑧個TEF個可以最好的描述多種情況的TE消耗,這可以解釋為變形Logistic型具有先增后降的S型變化趨勢,符合多數測試工作量的實際消耗情況.
接下來,本文畫出了TEFs在4個數據集上的預測曲線RE,結果如圖3所示.從圖3中可看出: 在DS1上,各個模型的預測差異較大,其中{④、②、①}預測性能不理想,逐漸下降,其余模型效果較好;在DS3上,8個模型的預測差異最大,其中偏離中心值最大的依次是{③、④、⑦、①、②},其余的相對較好,但⑧表現得并不優秀,⑥最優秀;在DS2上,各個模型的預測差異整體較小,除較差的{③、①、②、④}性能依次降低外,其余4個模型預測效果較好;在DS4上,從表現上,可以分為4組,其性能依次降低為{⑥、⑧}、{①、②、④}、{⑦、⑤}及{③}.
此外,在圖3中還需指出:1)有些模型的RE曲線會出現很高的“突起”,例如,圖3(a)(DS1)與圖3(c)(DS3)中.這主要是由于實際的TE數據集中有變動點CP(change-point)而造成的,例如測試環境的改變就會引發CP的出現,使得CP前后數據值差距較大,從而引起“突起”現象;2)絕大部分模型在前2/3左右的時間內其預測性能一般,之后逐漸趨向良好.這主要是由于模型中參數較多,只有當數據集增長到一定規模時,才能使模型中的參數逐漸獲得接近于最終擬合值的良好效果.
4.4 TEF性能差異化分析
綜合上述實驗與分析,從8個TEFs在4組數據集上的度量與預測效果比較的結果可得到如下結論:
1)TEF對測試數據集的依賴非常強.由于不同數據集在數據收集方式等上的差異,使得8個TEFs在有些數據集上表現較好,相反在另外一些數據集上表現一般,差異較大.例如,在DS3上8 個TEFs的擬合偏差較大;在DS1,DS2和DS4上各個模型的擬合差異比較小.

圖3 TEFs在4組數據集上的RE曲線比較
2)從擬合與預測的整體效果來看,⑧、⑥、⑤模型的綜合性能表現得最優.其余模型中有的擬合效果較好,但其 RE預測曲線并不理想;或反之.
3)基于上述分析,從現有可得的包含TE的失效數據集DS1~DS4可以看出,除⑧、⑥、⑤模型外(僅限在此4組數據集上,還需更多數據集實例去驗證),并不存在一個最優的TEF能夠對測試資源的消耗進行精準的管控(度量與預測).因此,在實際應用中,要應該依據數據集上的差異,合理選擇TEF進行應用.
4)實際應用中,可以采用“測試數據轉換”的方法,這能夠從現有數據集上獲得較多的測試數據.例如,一個較為簡單的做法是,將現有的以周為單位的測試數據轉換為以若干小時為單位,這樣數據集的規模會增大,能夠緩解“小數據集”帶來的不便.
1)TE表征了測試過程中消耗的資源,與SRGM的建模結合促進了TE在成本與可靠性工程研究中的重要地位.
2)選擇與提出合理的TEF可對測試資源進行有效管控,可改善基于SRGM所獲取的可靠性相關指標特征,從而為建立準確的成本模型與進行最優發布提供決策支持.
3)從對測試資源的描述能力來評價TEF過于單一,現有測試的目的已經從傳統的排除故障轉化到不斷提高可靠性為目標,因為軟件發布的主要標準之一是其可靠性達到預期.為此,后續研究中,應對涵蓋TEF的SRGM整體性能進行更為綜合的驗證與評價.
[1]HUANG C Y,LYU M R.Optimal release time for software systems considering cost,testing-effort,and test efficiency[J].IEEE Transactions on Reliability,2005,54(4):583-591.
[2]JHA P C,GUPTA D,YANG B,et al.Optimal testing resource allocation during module testing considering cost,testing effort and reliability[J].Computers& Industrial Engineering,2009,57(3):1122-1130.
[3]HUANG C Y,LYU M R.Optimal testing resource allocation, and sensitivity analysis in software development[J].IEEE Transactions on Reliability,2005,54(4):592-603.
[4]OHTERA H,YAMADA S.Optimal allocation and control problems for software-testing resources[J].IEEE Transactions on Reliability,1990,39(2):171-176.
[5]HUANG C Y.Cost-reliability-optimal release policy for software reliability models incorporating improvements in testing efficiency[J].Journal of Systems and Software,2005,77(2):139-155.
[6]張策,崔剛,劉宏偉,等.軟件測試資源與成本管控和最優發布策略[J].哈爾濱工業大學學報,2014,46(5):51-58.
[7]BOEHM B W.Software Engineering Economics[M].New Jersey:Prentice Hall PTR,Upper Saddle River,1981.
[8]GOKHALE S S,LYU M R,Trivedi K S.Incorporating faultdebugging activities into software reliability models:a simulation approach[J].IEEE Transactions on Reliability,2006,55(2):281-292.
[9]BEMAN O,CUTLER M.Resource allocation during tests for optimally reliable software[J].Computers& Operations Research,2004,31(11):1847-1865.
[10]HUANG C Y,LO J H.Optimal resource allocation for cost and reliability of modular software systems in the testing phase[J].Journal of Systems and Software,2006,79(5):653-664.
[11]AHMAD N,KHAN M G M,RAFI L S.A study of testing-effort dependent inflection S-shaped software reliability growth models with imperfect debugging[J].International Journal of Quality & Reliability Management,2010,27(1):89-110.
[12]KAPUR P K,GOSWAMI D N,BARDHAN A,et al.Flexible software reliability growth model with testing effortdependent learning process[J].Applied Mathematical Modelling,2008,32(7):1298-1307.
[13]YAMADA S,OHTERA H,NARIHISA H.Software reliability growth models with testing-effort[J].IEEE Transactions on Reliability,1986,35(1):19-23.
[14]BOKHARI M U,AHMAD N.Software reliability growth modeling forexponentiated Weibullfunctionswith actual software failures data[J].Advances in computer science and engineering: reports and monographs,2007,2:390-396.
[15]AHMAD N,BOKHARI M U,QUADRI S M K,et al.The exponentiated Weibull software reliability growth model with various testing-efforts and optimal release policy[J].International Journal of Quality&Reliability Management,2008,25(2):211-235.
[16]PARR F N.An alternative to the Rayleigh curve model for software development effort[J].IEEE Transactions on Software Engineering,1980(3):291-296.
[17]KUO S Y,HUANG C Y,LYU M R.Framework for modeling software reliability,using various testingefforts and fault-detection rates[J].IEEE Trans on Reliability,2001,50(3):310-320.
[18]HUANG C Y,KUO S Y.Analysis of incorporating logistic testing-effort function into software reliability modeling[J].IEEE Transactions on Reliability,2002,51(3):261-270.
[19]GOKHALE S S,TRIVEDI K S.Log-logistic software reliability growth model[C]//Proceedings of 3rdIEEE International Symposium on High-Assurance Systems Engineering.Washington,DC:IEEE,1998:34-41.
[20]ZHANG C,CUI G,MENG F C,et al.A study of optimalrelease policy for SRGM with imperfect debugging[J].Journal of Engineering Science and Technology Review,2013,6(3):111-118.
[21]LIN C T,HUANG C Y.Enhancing and measuring the predictive capabilities of testing-effort dependent software reliability models[J].Journal of Systems and Software,2008,81(6):1025-1038.
[22]HUANG C Y.Performanceanalysisofsoftware reliability growth models with testing-effort and changepoint[J].Journal of Systems and Software,2005,76(2):181-194.
[23]HUANG C Y,KUO S Y,LYU M R.An assessment of testing-effort dependent software reliability growth models[J].IEEE Transactions on Reliability,2007,56(2):198-211.
[24]AHMAD N,KHAN M G M,QUADRI S M K,et al.Modelling and analysis of software reliability with Burr type X testing-effort and release-time determination[J].Journal of Modelling in Management,2009,4(1): 28-54.
[25]AHMADA N,KHANB M G M,RAFIB L S.Analysis of an inflection S-shaped software reliability model considering log-logistic testing-effortand imperfect debugging[J].Int.J.Comp.Net.Sec,2011,11(1): 161-170.
[26]ZHANG C,CUI G,LIU H W,et al.A unified and flexible framework of imperfect debugging dependent SRGMs with testing-effort[J].Journal of Multimedia,2014,9(2):310-317.
[27]OHBA M.Software reliability analysis models[J].IBM Journal of research and Development,1984,28(4): 428-443.
[28]WOOD A.Predicting software reliability[J].IEEE Computer,1996,29(11):69-77.
[29]MUSA J D,IANNINO A,OKUMOTO K.Software reliability:measurement,prediction,application[M].New York:McGraw Hill,1987.
[30]PHAM H.SoftwareReliability[M].Singapore: Springer,2000.
(編輯 張 紅)
Overview of modeling of TE in SRGM and comparisons for models
ZHANG Ce1,2,MENG Fanchao2,CUI Gang1,LIU Hongwei1,GUAN Hongyu2
(1.School of Computer Science and Technology,Harbin Institute of Technology,150001 Harbin,China;2.School of Computer Science and Technology,Harbin Institute of Technology at Weihai,264209 Weihai,China)
To systematically reveal the state of art of testing effort(TE)related to software reliability growth model(SRGM)and to evaluate performances of testing effort function(TEFs),modelling of TE dependent SRGM and comparisons for models are studied in this paper.More specifically,firstly,research evolution of TE is summarized since the early 1978 s,and the relation between TE and test cost is analyzed.Then,current TEFs are reviewed and discussed,and modeling process of SRGM incorporating TE is illustrated.Performances of 8 TEFs are evaluated and compared by 4 failure data sets published.Finally,conclusions indicate that appropriate TEF can support decision for research of reliability based on SRGM and evaluating SRGM incorporating TE would be worthwhile in future.
software reliability;testing effort(TE);testing effort function(TEF);software reliability growth model(SRGM);cost
TP311
A
0367-6234(2015)05-0032-08
10.11918/j.issn.0367-6234.2015.05.006
2014-06-03.
國家科技支撐計劃資助(2013BA17F02);山東省科技攻關項目(2011GGX10108,2010GGX10104).
張 策(1978—),男,講師;博士研究生;
崔 剛(1949—),男,教授,博士生導師;
劉宏偉(1971—),男,教授,博士生導師.
張 策,zhangce@hitwh.edu.cn.