• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于多準(zhǔn)則決策的軟件可靠性模型選擇方法

      2013-09-08 10:18:24何成銘曹軍海
      計算機工程與設(shè)計 2013年6期
      關(guān)鍵詞:軟件可靠性準(zhǔn)則可靠性

      韓 坤,吳 緯,何成銘,曹軍海

      (1.裝甲兵工程學(xué)院 技術(shù)保障工程系,北京100072;2.北京特種車輛研究所,北京100072)

      0 引 言

      軟件可靠性模型在軟件可靠性評估和預(yù)計方面發(fā)揮著關(guān)鍵作用,但是,數(shù)量眾多的軟件可靠性模型給模型的應(yīng)用帶來了極大的困難,如何選擇合適的軟件可靠性模型成為急需解決的問題[1]。目前所提出的軟件可靠性模型選擇方法可分為兩類:基于模型評價準(zhǔn)則的方法和基于模型聚類的方法?;谀P驮u價準(zhǔn)則的軟件可靠性模型選擇方法首先將失效數(shù)據(jù)應(yīng)用于軟件可靠性模型,然后用模型評價準(zhǔn)則對模型輸出結(jié)果進行評價,評價結(jié)果作為進行模型選擇的依據(jù)[2]。常用軟件可靠性模型評價準(zhǔn)則有模型擬合度、預(yù)計有效性、模型偏差、模型偏差趨勢和噪聲等?;谀P途垲惙椒ǖ乃悸肥牵哂邢嗨铺卣鞯能浖?shù)據(jù)適用于相同的軟件可靠性模型[3]。建立一個軟件可靠性模型選擇平臺,包括多組基準(zhǔn)軟件失效數(shù)據(jù),以及每組數(shù)據(jù)所適用的軟件可靠性模型。通過將目標(biāo)數(shù)據(jù)與基準(zhǔn)數(shù)據(jù)進行比照,如果兩組數(shù)據(jù)特征相同,則基準(zhǔn)數(shù)據(jù)對應(yīng)的模型同樣適用于目標(biāo)數(shù)據(jù),平臺中的基準(zhǔn)數(shù)據(jù)和模型可以動態(tài)更新。以上兩種方法都被證明是可行的。但它們都各有缺陷,基于模型評價準(zhǔn)則的方法要求將全部候選模型應(yīng)用于失效數(shù)據(jù),并對模型結(jié)果進行評價,運算量大,且沒有提供選擇候選模型的方法;基于模型聚類方法的使用要求積累大量具有典型特征的失效數(shù)據(jù)以及所適用的模型。這些約束條件都在一定程度上限制了這些方法的使用。針對這些問題,本文提出直接指導(dǎo)軟件可靠性模型選擇的若干準(zhǔn)則,并闡述基于這些準(zhǔn)則進行軟件可靠性模型選擇的算法,以簡化軟件可靠性模型選擇工作。

      1 軟件可靠性模型分類

      從1972年Jelinski-Moranda模型被提出至今,已經(jīng)有一百余種軟件可靠性模型公開發(fā)表[4]。這些模型可以歸為兩類:可靠性早期預(yù)計模型和基于運行的可靠性模型。早期階段是指軟件在可運行之前的階段,包括方案論證、系統(tǒng)定義、需求分析、設(shè)計、編碼和單元測試階段。軟件可靠性早期預(yù)計模型根據(jù)軟件生命周期的早期階段,特別是測試之前的需求分析和設(shè)計階段的評審結(jié)果,對后續(xù)階段的軟件潛在缺陷進行預(yù)計,為更早地采取預(yù)防和糾正措施,改進軟件開發(fā)過程和提高軟件產(chǎn)品可靠性提供必要的信息。由于沒有軟件運行失效數(shù)據(jù),早期階段的可靠性預(yù)計通常是根據(jù)軟件可靠性影響因素分析,影響因素有軟件的應(yīng)用類型 (機載、過程控制、開發(fā)等),固有特征 (應(yīng)用、任務(wù)、功能、接口等),開發(fā)特征 (避錯、容錯措施),開發(fā)方的能力成熟度等級,軟件規(guī)模和復(fù)雜度等。這類模型有美國空軍Rome實驗室開發(fā)的早期預(yù)計模型、Samuel Keene的開發(fā)過程模型 (DPPM)和Rayleigh早期預(yù)計模型等[5]。

      從系統(tǒng)測試開始,軟件進入可運行階段,包括系統(tǒng)測試、確認(rèn)測試和使用階段?;谶\行的軟件可靠性模型根據(jù)軟件系統(tǒng)運行失效數(shù)據(jù),對軟件系統(tǒng)的失效率進行評價和預(yù)計。這類模型以概率論和數(shù)理統(tǒng)計為基礎(chǔ),將軟件可靠性測試和使用中發(fā)生失效的過程看作隨機過程,使用各種分布函數(shù)來描述軟件失效過程。并將軟件失效數(shù)據(jù)視為隨機分布數(shù)據(jù),基于軟件失效數(shù)據(jù)對分布函數(shù)的參數(shù)進行估計,得到模型的具體表達式,從而評價和預(yù)計軟件的可靠性?;谶\行的軟件可靠性模型一般對故障發(fā)現(xiàn)和排除過程做出諸多假設(shè),如軟件測試用例代表軟件實際使用剖面,軟件失效率與潛在故障數(shù)成正比等,這些假設(shè)決定模型的形式和模型參數(shù)的意義[6]?;谶\行的軟件可靠性模型是最早應(yīng)用于軟件可靠性工程領(lǐng)域的傳統(tǒng)分析模型,具有堅實的理論基礎(chǔ)和豐富的實踐經(jīng)驗,現(xiàn)有的軟件可靠性模型也大多屬于這類模型。目前市場上發(fā)行的軟件可靠性計算機輔助分析軟件,如計算機輔助軟件可靠性評估(CASRE)和軟件可靠性統(tǒng)計建模和評估 (SMERFS)等,都是應(yīng)用該類模型進行軟件可靠性分析的[7]。通過對現(xiàn)有軟件可靠性模型進行梳理分類,能夠幫助我們更快找到所需的模型。

      2 軟件可靠性模型選擇準(zhǔn)則

      基于使用需求和軟件可靠性模型的特點,提出五項軟件可靠性模型選擇準(zhǔn)則,包括生命周期階段、模型輸入要求、模型輸出要求、模型假設(shè)吻合和失效數(shù)據(jù)趨勢準(zhǔn)則,其中,前三項為確定性準(zhǔn)則,所選的模型需要完全符合這些準(zhǔn),后兩項為不確定性準(zhǔn)則,所選模型不一定能夠完全符合,優(yōu)先選用符合程度較高的模型。

      2.1 生命周期階段

      軟件可靠性模型被應(yīng)用在軟件生命周期的不同階段,因此,有必要確定哪些模型適用于某個特定階段。適用于各個生命周期階段的典型軟件可靠性模型如圖1所示[8]。

      圖1 適用生命周期各階段的典型軟件可靠性模型

      (1)在軟件論證和需求分析階段,只有軟件應(yīng)用類型和開發(fā)方能力成熟度等級等少量信息,可選用Rome實驗室早期預(yù)計模型、DPPM模型等[9];

      (2)在設(shè)計和編碼階段,根據(jù)階段審查和評審得出的錯誤報告信息對可靠性進行預(yù)計,可選用Raleigh模型等;

      (3)在測試階段,軟件中的錯誤不斷被發(fā)現(xiàn)和排除,可選用軟件可靠性增長模型;

      (4)在確認(rèn)階段,對發(fā)現(xiàn)的錯誤不做更改,因此可以認(rèn)為軟件的失效率是固定的,可選用Nelson模型等。

      2.2 模型輸入要求

      不同的軟件可靠性模型對輸入數(shù)據(jù)的要求可能不同,根據(jù)收集到的數(shù)據(jù)類型,選用適合的模型。

      (1)軟件可靠性早期預(yù)計模型的輸入要求為軟件可靠性影響因素,如軟件規(guī)模、復(fù)雜度、重用代碼比例、編程語言、開發(fā)方的能力成熟度等級等;

      (2)基于失效時間序列的軟件可靠性模型輸入要求為軟件每次失效的時刻;

      (3)基于失效時間間隔的軟件可靠性模型輸入要求為相鄰失效的時間間隔;

      (4)基于失效計數(shù)的軟件可靠性模型輸入要求為單位時間內(nèi)的失效次數(shù)。

      另外,有些軟件可靠性模型要求輸入基于日歷時間的失效數(shù)據(jù),其它一些模型則要求輸入基于CPU時間的失效數(shù)據(jù)等[10]。

      2.3 模型輸出要求

      不同的軟件可靠性模型用戶可能期望不同的輸出。

      (1)在進行軟件可靠性測試之前,希望得到軟件潛在故障數(shù),以便合理安排測試時間和測試所需資源;

      (2)在軟件可靠性增長測試期間,希望得到達到某預(yù)期可靠性目標(biāo)所需的時間;

      (3)在軟件可靠性驗證測試期間,希望得到軟件失效率或平均故障間隔時間 (MTBF);

      (4)對規(guī)定的時間內(nèi),不允許發(fā)生工作失效的重要系統(tǒng),即對可能因故障中止工作而造成人員傷亡或重大經(jīng)濟損失的軟件產(chǎn)品,要求失效率 ()數(shù)據(jù);

      (5)對軟件發(fā)生故障時,只影響系統(tǒng)部分非關(guān)鍵功能但系統(tǒng)不失效、且允許并預(yù)定要維修的軟件,輸出一般要求MTBF或可導(dǎo)出MTBF的數(shù)據(jù)。如果對模型輸出的要求為 MTBF,則不可選用 Goel Okumoto NHPP模型[11]。

      2.4 模型假設(shè)吻合

      軟件可靠性模型都是基于各種假設(shè)。然而,并不是所有假設(shè)都可以完全吻合。假設(shè)條件吻合程度高的模型應(yīng)優(yōu)先選擇。基于假設(shè)條件的不同,軟件可靠性模型可以劃分為以下四類[12]:

      (1)馬爾科夫模型?;炯僭O(shè)是軟件失效服從馬爾科夫過程。這類模型的主要特征是,在某一特定時刻,軟件具有有限的多種狀態(tài),各狀態(tài)之間的轉(zhuǎn)移概率只與當(dāng)前狀態(tài)有關(guān)。軟件的失效率是基于當(dāng)前軟件狀態(tài)的離散函數(shù)。這類模型有Jelinski-Moranda模型和Schick-Wolverton模型等。

      (2)非齊次泊松過程模型?;炯僭O(shè)是軟件失效過程為非齊次泊松過程。這類模型的主要特征是,均值函數(shù)被定義為在某給定時刻之前的期望失效數(shù),根據(jù)情況選擇適用的均值函數(shù)。這類模型有Goel-Okumoto模型和Schneidewind模型等。

      (3)輸入域模型?;炯僭O(shè)是軟件測試用例能夠代表軟件實際使用剖面?;谲浖膶嶋H使用剖面,隨機選擇輸入數(shù)據(jù),研究導(dǎo)致軟件失效的概率。根據(jù)一系列測試用例的輸入結(jié)果,計算軟件的可靠性。這類模型有Brown-Lipow模型和Nelson模型。

      (4)基于軟件工程度量的模型?;炯僭O(shè)是規(guī)模越大、復(fù)雜度越高的軟件會具有更多的缺陷數(shù),且不同的軟件類型和開發(fā)特征會影響軟件產(chǎn)品的可靠性。軟件工程度量被用于預(yù)計軟件的缺陷數(shù)。這類模型有基于Halstead度量的模型和基于McCabe度量的模型。

      2.5 失效數(shù)據(jù)趨勢

      將失效數(shù)據(jù)呈現(xiàn)的趨勢與軟件可靠性模型描述的趨勢相比較,如果兩者相似,則此模型的預(yù)計精度會相對較高。失效數(shù)據(jù)趨勢可以分為以下四類。

      (1)失效數(shù)據(jù)趨勢為可靠性增長。軟件可靠性增長測試和系統(tǒng)使用期間,隨著軟件錯誤的不斷排除,并且在不引進新錯誤的情況下,軟件可靠性呈逐漸增長趨勢。這種情況下,一般選用軟件可靠性增長模型,如Goel-Okumoto模型和Musa-Okumoto模型。

      (2)失效數(shù)據(jù)趨勢為可靠性先下降后增長。在測試初期,軟件存在的錯誤較多,但由于測試人員對軟件本身及測試環(huán)境不熟悉,導(dǎo)致發(fā)現(xiàn)的錯誤較多,得以改正的錯誤較少。因此,軟件可靠性呈下降趨勢。隨著測試人員熟練程度的提高,軟件錯誤不斷得到更正,可靠性也隨之增長[13]。推薦選擇S型模型,如Yamada S型模型。

      (3)失效數(shù)據(jù)趨勢為可靠性穩(wěn)定。這種情況一般發(fā)生在軟件生命周期的后期,隨著軟件故障的不斷排除,軟件缺陷不再頻繁引起系統(tǒng)失效,軟件失效發(fā)生的次數(shù)減少,軟件錯誤排除周期變長,軟件可靠性呈現(xiàn)穩(wěn)定,可以選擇線性模型或泊松模型[14]。

      (4)失效數(shù)據(jù)趨勢為可靠性不斷下降。這種情況一般是由于軟件錯誤排除過程中,同時引入了新的錯誤。此時,已經(jīng)失去了應(yīng)用軟件可靠性模型的意義。應(yīng)該及時審查和調(diào)整軟件錯誤的排除過程,保證不引入新的軟件錯誤。

      3 軟件可靠性模型選擇算法

      根據(jù)上述軟件可靠性模型選擇準(zhǔn)則,基于多準(zhǔn)則決策進行軟件可靠性模型選擇的基本思路如圖2所示。

      圖2 基于多準(zhǔn)決策的軟件可靠性模型選擇算法

      首先,運用確定性準(zhǔn)則對軟件可靠性模型進行篩選。經(jīng)過運用生命周期階段、模型輸入要求、模型輸出要求三項確定性選擇準(zhǔn)則,只有適用于特定生命周期階段,滿足模型輸入和輸出要求的模型被保留下來做為候選模型。

      其次,對不確定性準(zhǔn)則賦予準(zhǔn)則權(quán)重。根據(jù)用戶需求和模型應(yīng)用特點,按準(zhǔn)則的重要程度對模型假設(shè)吻合準(zhǔn)則和失效數(shù)據(jù)趨勢準(zhǔn)則分別賦予準(zhǔn)則權(quán)重,要求兩準(zhǔn)則權(quán)重相加等于1。

      再次,對候選模型賦予準(zhǔn)則應(yīng)用權(quán)重。將模型假設(shè)吻合準(zhǔn)則和失效數(shù)據(jù)趨勢準(zhǔn)則分別應(yīng)用于各候選模型,根據(jù)軟件可靠性模型對準(zhǔn)則的滿足程度,賦予0和1之間的值作為應(yīng)用權(quán)重。

      最后,將各候選模型的準(zhǔn)則權(quán)重和相應(yīng)的應(yīng)用權(quán)重相乘,選擇得分最高的軟件可靠性模型。

      4 實例應(yīng)用

      選用一組某型軟件系統(tǒng)測試期間的失效數(shù)據(jù),如表1所示,運用所提出的方法進行軟件可靠性模型選擇,用于評估軟件當(dāng)前的可靠性水平。

      表1 軟件系統(tǒng)測試失效數(shù)據(jù)

      (1)此失效數(shù)據(jù)產(chǎn)生于系統(tǒng)測試階段,根據(jù)軟件生命周期階段準(zhǔn)則,選擇適用于系統(tǒng)測試階段的軟件可靠性模型。系統(tǒng)測試階段常用的模型有:Jelinski-Moranda(JM)模型、Duane模型、Goel-Okumoto (GO)模 型、Musa-Okumoto(MO)模 型、Littlewood-Verall (LV)模 型、Yamada S-shaped (YS)模型等;

      (2)此失效數(shù)據(jù)是軟件失效時間間隔數(shù)據(jù),但能夠轉(zhuǎn)化為軟件失效時刻數(shù)據(jù)和軟件失效計數(shù)數(shù)據(jù)。由于第一步所選模型都屬于基于運行的軟件可靠模型,滿足模型輸入要求準(zhǔn)則;且皆可以輸出失效率數(shù)據(jù),適用于評估軟件系統(tǒng)當(dāng)前的可靠性,滿足模型輸出要求準(zhǔn)則。所以,保留所有第一步選擇的模型做為候選模型;

      (3)候選模型皆是對軟件失效過程做出假設(shè),這種情況下失效數(shù)據(jù)趨勢準(zhǔn)則更為重要,因此,分別賦予模型假設(shè)吻合準(zhǔn)則和失效數(shù)據(jù)趨勢準(zhǔn)則的準(zhǔn)則權(quán)重為0.3和0.7。

      (4)根據(jù)軟件失效過程與模型假設(shè)的吻合程度,各候選模型基于模型假設(shè)吻合準(zhǔn)則的應(yīng)用權(quán)重分別為:JM=0.25,Duane = 0.5,GO = 0.5,MO = 0.5,LV =0.25,YS=0.5。

      根據(jù)失效數(shù)據(jù)趨勢和模型曲線趨勢的相似程度,各候選模型基于失效數(shù)據(jù)趨勢準(zhǔn)則的應(yīng)用權(quán)重分別為:JM=0.2,Duane=0.4,GO =0.4,MO =0.5,LV =0.3,YS=0.1。

      各候選模型的最終得分分別為:JM =0.25*0.3+0.2*0.7=0.215,Duane=0.5*0.3+0.4*0.7=0.43,GO =0.5*0.3+0.4*0.7=0.43,MO=0.5*0.3+0.5*0.7=0.5,LV =0.25*0.3+0.3*0.7=0.285,YS=0.5*0.3+0.1*0.7=0.22。

      Musa-Okumoto(MO)模型得分最高,所以最終選擇Musa-Okumoto (MO)模型。

      5 結(jié)束語

      本文分析了現(xiàn)有軟件可靠性模型選擇方法,指出它們存在運算量大、應(yīng)用不方便等缺點。提出可以直接指導(dǎo)軟件可靠性模型選擇的若干準(zhǔn)則,闡述了基于這些準(zhǔn)則進行軟件可靠性模型選擇的算法,并進行了實例應(yīng)用。相對現(xiàn)有基于模型評價準(zhǔn)則和模型聚類的軟件可靠性模型選擇方法,本文所提出的方法計算簡單,對經(jīng)驗數(shù)據(jù)的積累要求較低,可以大大減少進行軟件可靠性模型選擇的工作量。但也應(yīng)該看到基于模型選擇準(zhǔn)則方法的不足,基于此方法選擇出來的軟件可靠性模型,還需要用模型評價準(zhǔn)則對其應(yīng)用效果做出最終評價。進一步研究的方向是將三種方法綜合起來,在沒有歷史數(shù)據(jù)的情況下,首先基于軟件可靠性模型選擇準(zhǔn)則,選出適量得分排名靠前的模型作為侯選模型;其次,將各侯選模型應(yīng)用于軟件失效數(shù)據(jù),并基于軟件可靠性模型評價準(zhǔn)則對各侯選模型的應(yīng)用效果進行評價,選擇評價結(jié)果最好的模型作為最終模型;最后,通過對軟件失效數(shù)據(jù)和適用模型的積累,建立利于工程化應(yīng)用的軟件可靠性選擇平臺。

      [1]Karanta Ilkka.Methods and problems of software reliability estimation [R].Finland:VTT Technical Research Centre of Finland,2006:48-49.

      [2]TENG Lingling,SHAO Dong,RONG Guoping.Reseach on software reliability model selection [J].Computer Applications and Software,2010,27 (6):128-131 (in Chinese).[騰靈靈,邵棟,榮國平.軟件可靠性模型選擇研究 [J].計算機應(yīng)用與軟件,2010,27 (6):128-131.]

      [3]Kapil S,Rakesh G,Nagpal C K.Selection of optimal software reliability growth models using a distance based approach [J].IEEE Transactions on Reliability,2010,59 (2):266-276.

      [4]ZHU Lei,YANG Dan,WU Yingbo.Selection of software reliability model based on BP neural network [J].Computer Engineering and Design,2007,28 (17):4091-4094 (in Chinese).[朱磊,楊丹,吳映波.基于BP神經(jīng)網(wǎng)絡(luò)的軟件可靠性模型選擇 [J].計算機工程與設(shè)計,2007,28 (17):4091-4094.]

      [5]IEEE Std 1633TM-2008,IEEE recommended practice on software reliability [S].

      [6]SHI Zhu.Software reliability engineering [M].Beijing:Beijing University of Aeronautics and Astronautics Press,2009 (in Chinese).[石柱,軟件可靠性工程 [M].北京:北京航空航天大學(xué)出版社,2009.]

      [7]Lyu M R.Software reliability engineering:A roadmap [C]//Proceedings of Future of Software engineering,2007:153-170.

      [8]Pham H.System software reliability [M].London:Springer Publisher,2006:132-134.

      [9]Wende Kong.Towards a formal and scalable approach for quantifying software reliability at early development stages [D].Maryland:University of Maryland,2009:12-15.

      [10]Norman Schneidewind.Comparison of reliability and testing models [J].IEEE Transactions on reliability,2008,57 (4):607-615.

      [11]WEI Ying,SHEN Xiangheng.Analysis and establishment of software reliability parameters of astronautics payload software[J].Computer Engineering and Design,2008,29 (10):2564-2566(in Chinese).[魏穎,沈湘衡.航天載荷應(yīng)用軟件可靠性參數(shù)的分析與確立 [J].計算機工程與設(shè)計,2008,29(10):2564-2566.]

      [12]CHAO Bing.The classiftcation of software reliability models and failure analysis of software reliability based on support vector machines [D].Wuhan:Wuhan University,2010:11-19(in Chinese).[晁冰.基于支持向量機的軟件可靠性模型分類及失效分析 [D].武漢:武漢大學(xué),2010:11-19.]

      [13]WU Y P,HU Q P,XIE M.Modeling and analysis of software fault detection and correction process by considering time dependency [J].IEEE Transactions on Software Reliability,2007,56 (4):629-642.

      [14]LU Minyan.Software reliability engineering [M].Beijing:National Defense Industry Press,2011 (in Chinese).[陸 民燕.軟件可靠性工程 [M].北京:國防工業(yè)出版社,2011.]

      猜你喜歡
      軟件可靠性準(zhǔn)則可靠性
      具非線性中立項的二階延遲微分方程的Philos型準(zhǔn)則
      可靠性管理體系創(chuàng)建與實踐
      軟件可靠性工程綜合應(yīng)用建模技術(shù)研究
      電子制作(2017年2期)2017-05-17 03:55:06
      基于Canny振蕩抑制準(zhǔn)則的改進匹配濾波器
      數(shù)控系統(tǒng)軟件可靠性設(shè)計與故障分析技術(shù)
      一圖讀懂《中國共產(chǎn)黨廉潔自律準(zhǔn)則》
      基于可靠性跟蹤的薄弱環(huán)節(jié)辨識方法在省級電網(wǎng)可靠性改善中的應(yīng)用研究
      電測與儀表(2015年6期)2015-04-09 12:01:18
      可靠性比一次采購成本更重要
      風(fēng)能(2015年9期)2015-02-27 10:15:24
      簡談使用BoundsChecker進行計算機聯(lián)鎖系統(tǒng)人機界面軟件可靠性測試
      盐边县| 清原| 平乡县| 毕节市| 建瓯市| 东乡县| 长垣县| 丰都县| 临夏市| 张北县| 麻城市| 浦东新区| 普定县| 山阳县| 松阳县| 封丘县| 会同县| 广安市| 桐乡市| 鹤庆县| 平泉县| 丰镇市| 佛冈县| 抚宁县| 酉阳| 岳阳市| 南部县| 蓝山县| 策勒县| 巴里| 长沙市| 宁安市| 阿尔山市| 公安县| 新绛县| 淮北市| 邯郸县| 巴青县| 宜丰县| 东丽区| 合川市|