楊小明,樓俊鋼,沈張果,胡文軍
(1.湖州師范學院信息工程學院湖州313000;
2.浙江大學控制科學與工程學系杭州310058)
摘要:基于核函數(shù)的軟件可靠性模型一般對軟件失效時間數(shù)據(jù)與發(fā)生在其之前的m次失效時間數(shù)據(jù)的關系進行建模,著重研究了m取值不同時,其對核函數(shù)可靠性模型預測能力的影響。在5個不同類型失效數(shù)據(jù)集上,采用Mann-Kendall檢驗觀測到m值增大時模型預測能力逐漸下降,說明現(xiàn)時失效時間數(shù)據(jù)能比較久之前觀測的失效時間數(shù)據(jù)更好地用于預測未來,通過把m的取值劃分成幾個區(qū)間,運用配對T檢驗進行實驗研究,結果表明當mE{6,7,8,9,10)時,模型能夠得到最好的預測性能。
關鍵詞:軟件可靠性預測模型;相關向量機;核函數(shù);軟件失效數(shù)據(jù);Mann-Kendall檢驗
1 引言
軟件可靠性模型是指為預測軟件可靠性,利用已有失效數(shù)據(jù),根據(jù)對軟件失效行為的假設,采用一定數(shù)學方法建立軟件可靠模型的過程。近年來,研究者提出了許多軟件可靠性模型,這些模型都是基于一些對軟件的開發(fā)環(huán)境和使用環(huán)境的關鍵假設,利用測試獲得的軟件失效信息,對軟件系統(tǒng)的失效過程進行建模,評估軟件系統(tǒng)的可靠性,預測軟件實際工作時的現(xiàn)場行為。軟件可靠性是最重要的可信性屬性之一,而軟件可靠性建模是目前提高軟件可靠性水平主要工具之一。軟件可靠性模型多是基于一些對軟件的開發(fā)環(huán)境和使用環(huán)境的關鍵假設,利用測試獲得的軟件失效信息,對軟件系統(tǒng)的失效過程進行建模,評估軟件系統(tǒng)的可靠性水平,預測軟件實際工作時的現(xiàn)場行為。隨機過程模型是軟件可靠性建模研究中最廣泛使用的,也是實際項目中應用最廣泛的一類,目前這類模型的絕大部分研究工作集中于模型的統(tǒng)一、對非齊次泊松過程類(non-homogeneous Poisson process,NHPP)等模型的改進、可靠性成本模型等,模型改進的出發(fā)點是提出更加合理的假設以提高模型預測精度,如考慮測試環(huán)境與實際運行環(huán)境的差別、考慮故障的相關性、不完美調試以及測試者學習能力、測試效用函數(shù)、測試工作量與覆蓋率等。此外,也有學者提出采用馬爾可夫更新過程、廣義Pareto分析、排隊論模型、順序統(tǒng)計量模型、多維隨機過程等來描述軟件失效過程,取得了很多不錯的研究成果。接著,人們嘗試利用更多更復雜的數(shù)學方法對軟件失效行為進行建模及分析,如人工神經(jīng)網(wǎng)絡、未確知理論、混沌理論、時間序列、模糊數(shù)學理論、遺傳編程、強化學習等,相比隨機過程模型,這些方法可以取得更好的預測性能或擬合效果,但在實際軟件系統(tǒng)可靠性評估的應用還較為少見。最近,研究者開始考慮核函數(shù)方法在軟件可靠性建模方面的研究,最主要的包括支持向量機( support vector mlachines,SVM)、相關向量機(relevance vector machine,RVM)等方法的應用,核函數(shù)方法一般對軟件失效時刻與在它之前的發(fā)生m個失效時刻數(shù)據(jù)之間的對應關系進行建模。Tian等把SVM引入軟件可靠性建模中,Xing等、Yang等、Yuan等f19J、Park等對SVM用于可靠性建模進行了適當?shù)母倪M。樓俊鋼等人使用RVM等核函數(shù)技術在軟件可靠性建模方面做了一些研究工作。與其他方法相比,SVM、RVM等基于核函數(shù)模型具有自適應能力和學習功能.通過歸納學習和訓練,能發(fā)現(xiàn)數(shù)據(jù)輸入與輸出之間的關系,經(jīng)過自適應調整求取問題的解,適用于系統(tǒng)開發(fā)環(huán)境較復雜,對問題的機理不能用數(shù)學模型表示的系統(tǒng),對大量原始數(shù)據(jù)的處理往往表現(xiàn)出極大的靈活性和自適應性,容錯和抗干擾能力較強,在軟件可靠性建模問題上也得到了較好地應用,在模型適用性以及評估預測能力上均有較好的表現(xiàn),是目前軟件可靠性模型研究中較為重要的一個突破口。筆者在使用核函數(shù)理論進行軟件可靠性預測的前期研究中,發(fā)現(xiàn)用于建模的軟件失效數(shù)據(jù)數(shù)量的改變對模型的預測性能和適用性有較大影響。然而目前的研究工作中,還很少有專門針對軟件失效數(shù)據(jù)數(shù)量選取的工作,本文應用Mann-Kendall及配對T檢驗等統(tǒng)計方法在5個常用軟件失效數(shù)據(jù)集上對基于相關向量機的軟件可靠性預測模型中m值選取問題進行研究。
2.1 使用的數(shù)據(jù)集和性能比較標準
采用10個來自不同類型軟件的失效數(shù)據(jù)集舊對m不同時模型預測性能進行實驗分析,見表1,在實驗過程中,取所有數(shù)據(jù)集的前2/3作為學習數(shù)據(jù),對后面1/3數(shù)據(jù)進行預測后與真實數(shù)據(jù)進行比較。
使用軟件可靠性預測模型性能分析中最常用的指標平均相對預測誤差(average relative prediction error,AE)對模型性能進行評價,AE的值越小說明模型的預測能力越強,計算式為:,其中,n表示失效數(shù)據(jù)集總共記錄的失效次數(shù),%表示用于核函數(shù)學習的失效次數(shù),f。表示第i次失效時間估計值而“失效時間實測值。
2.2核函數(shù)參數(shù)選取
前期工作表明模型中選用高斯核函數(shù)
時可以取得最好預測效果,,>o是高斯核函數(shù)的帶寬參數(shù)。核函數(shù)參數(shù)選取是一個最優(yōu)化問題,采用網(wǎng)格搜索法進行核函數(shù)參數(shù)選擇,令r∈[r1,r2],設置變化步長為L,選取其中預測效果最好的值作為模型參數(shù)。在數(shù)據(jù)集1。數(shù)據(jù)集5上采用不同的r值進行的實驗研究結果如圖2所示,其中,r,,r:,‘的取值分別為0、12和0.1,其余取值如下:
的初始值均為0.5,盯2的初始值為1。從圖2中可以看出,r的取值對模型預測性能有較大的影響,本文實驗中對5個數(shù)據(jù)集上r的取值見表2。
3實驗分析與比較
4結束語
基于相關向量機理論,對軟件失效時間數(shù)據(jù)與在其之前發(fā)生的m個失效時間數(shù)據(jù)進行建模,對10個數(shù)據(jù)集上用于建模的失效數(shù)據(jù)數(shù)量進行實驗研究。首先,通過Mann-Kendall檢驗發(fā)現(xiàn),m值變大時,模型預測性能存在下降趨勢,然后采用配對T檢驗發(fā)現(xiàn),在10個數(shù)據(jù)集上,m∈{6,7,8,9,10)時,模型具有最好的預測性能。
進一步工作包括以下內容:采用模糊遺傳算法、粒子群算法或者模擬退火算法等優(yōu)化技術對核函數(shù)參數(shù)的自動賦值算法進行研究;適合于軟件可靠性建模的核函數(shù)選擇及構建.進一步提高模型預測性能。