相關(guān)鏈接: 中國(guó)安全網(wǎng) 中國(guó)質(zhì)量網(wǎng) 中國(guó)論文網(wǎng) 中國(guó)資訊網(wǎng)
作者:張毅
1 引言
軟件可靠性模型是指為預(yù)測(cè)軟件可靠性,利用已有失效數(shù)據(jù),根據(jù)對(duì)軟件失效行為的假設(shè),采用一定數(shù)學(xué)方法建立軟件可靠模型的過(guò)程。近年來(lái),研究者提出了許多軟件可靠性模型,這些模型都是基于一些對(duì)軟件的開發(fā)環(huán)境和使用環(huán)境的關(guān)鍵假設(shè),利用測(cè)試獲得的軟件失效信息,對(duì)軟件系統(tǒng)的失效過(guò)程進(jìn)行建模,評(píng)估軟件系統(tǒng)的可靠性,預(yù)測(cè)軟件實(shí)際工作時(shí)的現(xiàn)場(chǎng)行為。軟件可靠性是最重要的可信性屬性之一,而軟件可靠性建模是目前提高軟件可靠性水平主要工具之一。軟件可靠性模型多是基于一些對(duì)軟件的開發(fā)環(huán)境和使用環(huán)境的關(guān)鍵假設(shè),利用測(cè)試獲得的軟件失效信息,對(duì)軟件系統(tǒng)的失效過(guò)程進(jìn)行建模,評(píng)估軟件系統(tǒng)的可靠性水平,預(yù)測(cè)軟件實(shí)際工作時(shí)的現(xiàn)場(chǎng)行為。隨機(jī)過(guò)程模型是軟件可靠性建模研究中最廣泛使用的,也是實(shí)際項(xiàng)目中應(yīng)用最廣泛的一類,目前這類模型的絕大部分研究工作集中于模型的統(tǒng)一、對(duì)非齊次泊松過(guò)程類(non-homogeneous Poisson process,NHPP)等模型的改進(jìn)、可靠性成本模型等,模型改進(jìn)的出發(fā)點(diǎn)是提出更加合理的假設(shè)以提高模型預(yù)測(cè)精度,如考慮測(cè)試環(huán)境與實(shí)際運(yùn)行環(huán)境的差別、考慮故障的相關(guān)性、不完美調(diào)試以及測(cè)試者學(xué)習(xí)能力、測(cè)試效用函數(shù)、測(cè)試工作量與覆蓋率等。此外,也有學(xué)者提出采用馬爾可夫更新過(guò)程、廣義Pareto分析、排隊(duì)論模型、順序統(tǒng)計(jì)量模型、多維隨機(jī)過(guò)程等來(lái)描述軟件失效過(guò)程,取得了很多不錯(cuò)的研究成果。接著,人們嘗試?yán)酶喔鼜?fù)雜的數(shù)學(xué)方法對(duì)軟件失效行為進(jìn)行建模及分析,如人工神經(jīng)網(wǎng)絡(luò)、未確知理論、混沌理論、時(shí)間序列、模糊數(shù)學(xué)理論、遺傳編程、強(qiáng)化學(xué)習(xí)等,相比隨機(jī)過(guò)程模型,這些方法可以取得更好的預(yù)測(cè)性能或擬合效果,但在實(shí)際軟件系統(tǒng)可靠性評(píng)估的應(yīng)用還較為少見(jiàn)。最近,研究者開始考慮核函數(shù)方法在軟件可靠性建模方面的研究,最主要的包括支持向量機(jī)( support vector mlachines,SVM)、相關(guān)向量機(jī)(relevance vector machine,RVM)等方法的應(yīng)用,核函數(shù)方法一般對(duì)軟件失效時(shí)刻與在它之前的發(fā)生m個(gè)失效時(shí)刻數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系進(jìn)行建模。Tian等把SVM引入軟件可靠性建模中,Xing等、Yang等、Yuan等f(wàn)19J、Park等對(duì)SVM用于可靠性建模進(jìn)行了適當(dāng)?shù)母倪M(jìn)。樓俊鋼等人使用RVM等核函數(shù)技術(shù)在軟件可靠性建模方面做了一些研究工作。與其他方法相比,SVM、RVM等基于核函數(shù)模型具有自適應(yīng)能力和學(xué)習(xí)功能.通過(guò)歸納學(xué)習(xí)和訓(xùn)練,能發(fā)現(xiàn)數(shù)據(jù)輸入與輸出之間的關(guān)系,經(jīng)過(guò)自適應(yīng)調(diào)整求取問(wèn)題的解,適用于系統(tǒng)開發(fā)環(huán)境較復(fù)雜,對(duì)問(wèn)題的機(jī)理不能用數(shù)學(xué)模型表示的系統(tǒng),對(duì)大量原始數(shù)據(jù)的處理往往表現(xiàn)出極大的靈活性和自適應(yīng)性,容錯(cuò)和抗干擾能力較強(qiáng),在軟件可靠性建模問(wèn)題上也得到了較好地應(yīng)用,在模型適用性以及評(píng)估預(yù)測(cè)能力上均有較好的表現(xiàn),是目前軟件可靠性模型研究中較為重要的一個(gè)突破口。筆者在使用核函數(shù)理論進(jìn)行軟件可靠性預(yù)測(cè)的前期研究中,發(fā)現(xiàn)用于建模的軟件失效數(shù)據(jù)數(shù)量的改變對(duì)模型的預(yù)測(cè)性能和適用性有較大影響。然而目前的研究工作中,還很少有專門針對(duì)軟件失效數(shù)據(jù)數(shù)量選取的工作,本文應(yīng)用Mann-Kendall及配對(duì)T檢驗(yàn)等統(tǒng)計(jì)方法在5個(gè)常用軟件失效數(shù)據(jù)集上對(duì)基于相關(guān)向量機(jī)的軟件可靠性預(yù)測(cè)模型中m值選取問(wèn)題進(jìn)行研究。
2基于相關(guān)向量機(jī)的軟件可靠性建模
預(yù)測(cè)的具體實(shí)現(xiàn)步驟如圖1所示。具體介紹如下。
2.1 使用的數(shù)據(jù)集和性能比較標(biāo)準(zhǔn)
采用10個(gè)來(lái)自不同類型軟件的失效數(shù)據(jù)集舊對(duì)m不同時(shí)模型預(yù)測(cè)性能進(jìn)行實(shí)驗(yàn)分析,見(jiàn)表1,在實(shí)驗(yàn)過(guò)程中,取所有數(shù)據(jù)集的前2/3作為學(xué)習(xí)數(shù)據(jù),對(duì)后面1/3數(shù)據(jù)進(jìn)行預(yù)測(cè)后與真實(shí)數(shù)據(jù)進(jìn)行比較。
3實(shí)驗(yàn)分析與比較
3.1 Mann-Kendall檢驗(yàn)
3.2檢驗(yàn)結(jié)果及趨勢(shì)分析
表3列出了在m取值分別為6,7,…,30情況下各個(gè)數(shù)據(jù)集上模型的預(yù)測(cè)AE值,圖3顯示了其變化趨勢(shì)。模型中盯2的初始值為1,a。(/=1,2,3,…,m)的初始值均為0.5,r的取值為1、10以及表2中的值。從表3中可以看出,隨著m值的不同,模型預(yù)測(cè)性能也有極大差異。例如,在使用數(shù)據(jù)集1、r =3.8時(shí),AE的值在0.87(m=9)與2.42(m,=28)之間浮動(dòng);使用數(shù)據(jù)集4、r=l時(shí),AE的值在1.68(m=13)與6.15(m=25)之間浮動(dòng)。
表4中給出了各數(shù)據(jù)集上m值變化時(shí)的Z統(tǒng)計(jì)量及置信區(qū)間為95%(a=0.5,五n=1.96)時(shí)的變化趨勢(shì)分析。從表4中可以看出,m值增加時(shí),在各數(shù)據(jù)集的AE值均存在上升趨勢(shì),說(shuō)明隨著m的增加,模型的預(yù)測(cè)性能存在下降的趨勢(shì)。合理的解釋是,最近的失效數(shù)據(jù)更能反映失效過(guò)程中的最新特性,早期失效數(shù)據(jù)對(duì)預(yù)測(cè)未來(lái)短期失效行為作用較小,現(xiàn)時(shí)失效時(shí)間數(shù)據(jù)能比很久之前觀測(cè)的失效時(shí)間數(shù)據(jù)更好地用于預(yù)測(cè)未來(lái)。
3.3配對(duì)r檢驗(yàn)
本節(jié)將設(shè)計(jì)隨機(jī)化實(shí)驗(yàn),采用配對(duì)r檢驗(yàn)的方法找出10個(gè)數(shù)據(jù)集上模型預(yù)測(cè)能力相對(duì)較好的m值。配對(duì)r檢驗(yàn)的過(guò)程,是對(duì)兩個(gè)同質(zhì)的樣本分別接受兩種不同的處理,判斷不同的處理是否有差別,實(shí)驗(yàn)中,將m值作為處理,判斷其不同時(shí)模型預(yù)測(cè)能力是否有差別。令{x}、{Y)為m值取值集合,定義集合運(yùn)算>,Ⅸ}>{y}表示采用集合x中的數(shù)值比采用集合Y中數(shù)值具有更好的預(yù)測(cè)性能。實(shí)驗(yàn)中,把m值分成5組:
{A}={6,7,8,9,10}
{B}={11,12,13,14,15}
{C}={16,17,18,19,20}
{D}={21,22,23,24,25}
{E}={26,27,28,29,30} ,
配對(duì) 10次:
4結(jié)束語(yǔ)
基于相關(guān)向量機(jī)理論,對(duì)軟件失效時(shí)間數(shù)據(jù)與在其之前發(fā)生的m個(gè)失效時(shí)間數(shù)據(jù)進(jìn)行建模,對(duì)10個(gè)數(shù)據(jù)集上用于建模的失效數(shù)據(jù)數(shù)量進(jìn)行實(shí)驗(yàn)研究。首先,通過(guò)Mann-Kendall檢驗(yàn)發(fā)現(xiàn),m值變大時(shí),模型預(yù)測(cè)性能存在下降趨勢(shì),然后采用配對(duì)T檢驗(yàn)發(fā)現(xiàn),在10個(gè)數(shù)據(jù)集上,m∈{6,7,8,9,10)時(shí),模型具有最好的預(yù)測(cè)性能。
進(jìn)一步工作包括以下內(nèi)容:采用模糊遺傳算法、粒子群算法或者模擬退火算法等優(yōu)化技術(shù)對(duì)核函數(shù)參數(shù)的自動(dòng)賦值算法進(jìn)行研究;適合于軟件可靠性建模的核函數(shù)選擇及構(gòu)建.進(jìn)一步提高模型預(yù)測(cè)性能。
5摘要:基于核函數(shù)的軟件可靠性模型一般對(duì)軟件失效時(shí)間數(shù)據(jù)與發(fā)生在其之前的m次失效時(shí)間數(shù)據(jù)的關(guān)系進(jìn)行建模,著重研究了m取值不同時(shí),其對(duì)核函數(shù)可靠性模型預(yù)測(cè)能力的影響。在5個(gè)不同類型失效數(shù)據(jù)集上,采用Mann-Kendall檢驗(yàn)觀測(cè)到m值增大時(shí)模型預(yù)測(cè)能力逐漸下降,說(shuō)明現(xiàn)時(shí)失效時(shí)間數(shù)據(jù)能比較久之前觀測(cè)的失效時(shí)間數(shù)據(jù)更好地用于預(yù)測(cè)未來(lái),通過(guò)把m的取值劃分成幾個(gè)區(qū)間,運(yùn)用配對(duì)T檢驗(yàn)進(jìn)行實(shí)驗(yàn)研究,結(jié)果表明當(dāng)mE{6,7,8,9,10)時(shí),模型能夠得到最好的預(yù)測(cè)性能。