999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于多準則決策的軟件可靠性模型選擇方法

2013-09-08 10:18:24何成銘曹軍海
計算機工程與設計 2013年6期
關鍵詞:評價模型

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

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

0 引 言

軟件可靠性模型在軟件可靠性評估和預計方面發揮著關鍵作用,但是,數量眾多的軟件可靠性模型給模型的應用帶來了極大的困難,如何選擇合適的軟件可靠性模型成為急需解決的問題[1]。目前所提出的軟件可靠性模型選擇方法可分為兩類:基于模型評價準則的方法和基于模型聚類的方法。基于模型評價準則的軟件可靠性模型選擇方法首先將失效數據應用于軟件可靠性模型,然后用模型評價準則對模型輸出結果進行評價,評價結果作為進行模型選擇的依據[2]。常用軟件可靠性模型評價準則有模型擬合度、預計有效性、模型偏差、模型偏差趨勢和噪聲等。基于模型聚類方法的思路是,具有相似特征的軟件失效數據適用于相同的軟件可靠性模型[3]。建立一個軟件可靠性模型選擇平臺,包括多組基準軟件失效數據,以及每組數據所適用的軟件可靠性模型。通過將目標數據與基準數據進行比照,如果兩組數據特征相同,則基準數據對應的模型同樣適用于目標數據,平臺中的基準數據和模型可以動態更新。以上兩種方法都被證明是可行的。但它們都各有缺陷,基于模型評價準則的方法要求將全部候選模型應用于失效數據,并對模型結果進行評價,運算量大,且沒有提供選擇候選模型的方法;基于模型聚類方法的使用要求積累大量具有典型特征的失效數據以及所適用的模型。這些約束條件都在一定程度上限制了這些方法的使用。針對這些問題,本文提出直接指導軟件可靠性模型選擇的若干準則,并闡述基于這些準則進行軟件可靠性模型選擇的算法,以簡化軟件可靠性模型選擇工作。

1 軟件可靠性模型分類

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

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

2 軟件可靠性模型選擇準則

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

2.1 生命周期階段

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

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

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

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

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

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

2.2 模型輸入要求

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

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

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

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

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

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

2.3 模型輸出要求

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

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

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

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

(4)對規定的時間內,不允許發生工作失效的重要系統,即對可能因故障中止工作而造成人員傷亡或重大經濟損失的軟件產品,要求失效率 ()數據;

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

2.4 模型假設吻合

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

(1)馬爾科夫模型。基本假設是軟件失效服從馬爾科夫過程。這類模型的主要特征是,在某一特定時刻,軟件具有有限的多種狀態,各狀態之間的轉移概率只與當前狀態有關。軟件的失效率是基于當前軟件狀態的離散函數。這類模型有Jelinski-Moranda模型和Schick-Wolverton模型等。

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

(3)輸入域模型。基本假設是軟件測試用例能夠代表軟件實際使用剖面。基于軟件的實際使用剖面,隨機選擇輸入數據,研究導致軟件失效的概率。根據一系列測試用例的輸入結果,計算軟件的可靠性。這類模型有Brown-Lipow模型和Nelson模型。

(4)基于軟件工程度量的模型。基本假設是規模越大、復雜度越高的軟件會具有更多的缺陷數,且不同的軟件類型和開發特征會影響軟件產品的可靠性。軟件工程度量被用于預計軟件的缺陷數。這類模型有基于Halstead度量的模型和基于McCabe度量的模型。

2.5 失效數據趨勢

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

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

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

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

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

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

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

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

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

其次,對不確定性準則賦予準則權重。根據用戶需求和模型應用特點,按準則的重要程度對模型假設吻合準則和失效數據趨勢準則分別賦予準則權重,要求兩準則權重相加等于1。

再次,對候選模型賦予準則應用權重。將模型假設吻合準則和失效數據趨勢準則分別應用于各候選模型,根據軟件可靠性模型對準則的滿足程度,賦予0和1之間的值作為應用權重。

最后,將各候選模型的準則權重和相應的應用權重相乘,選擇得分最高的軟件可靠性模型。

4 實例應用

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

表1 軟件系統測試失效數據

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

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

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

(4)根據軟件失效過程與模型假設的吻合程度,各候選模型基于模型假設吻合準則的應用權重分別為:JM=0.25,Duane = 0.5,GO = 0.5,MO = 0.5,LV =0.25,YS=0.5。

根據失效數據趨勢和模型曲線趨勢的相似程度,各候選模型基于失效數據趨勢準則的應用權重分別為: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 結束語

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

[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].計算機應用與軟件,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].計算機工程與設計,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].北京:北京航空航天大學出版社,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).[魏穎,沈湘衡.航天載荷應用軟件可靠性參數的分析與確立 [J].計算機工程與設計,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].武漢:武漢大學,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].北京:國防工業出版社,2011.]

猜你喜歡
評價模型
一半模型
SBR改性瀝青的穩定性評價
石油瀝青(2021年4期)2021-10-14 08:50:44
中藥治療室性早搏系統評價再評價
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
基于Moodle的學習評價
關于項目后評價中“專項”后評價的探討
保加利亞轉軌20年評價
主站蜘蛛池模板: 国产精品成人啪精品视频| 操国产美女| 无码视频国产精品一区二区| 2021国产精品自拍| 国产区免费| 久久久久国产精品熟女影院| 91国内在线观看| 亚洲国产成人在线| 国产又爽又黄无遮挡免费观看| 91免费国产在线观看尤物| 在线观看亚洲精品福利片| 久久综合伊人77777| 国产成人无码综合亚洲日韩不卡| 伊人久久青草青青综合| 激情综合网激情综合| 天堂在线视频精品| 波多野结衣亚洲一区| 精品成人一区二区三区电影 | 国产手机在线观看| 99性视频| 久热99这里只有精品视频6| 国产精品浪潮Av| 蜜桃臀无码内射一区二区三区| 老司机午夜精品视频你懂的| 99人体免费视频| 无码日韩精品91超碰| 在线播放国产一区| 亚洲男人在线天堂| 午夜福利无码一区二区| 精品视频一区二区三区在线播| 日本一本在线视频| 日韩欧美成人高清在线观看| 91在线一9|永久视频在线| 欧美一区国产| 国产又粗又爽视频| 婷婷午夜天| 奇米精品一区二区三区在线观看| 亚洲一级毛片在线观播放| AV片亚洲国产男人的天堂| 五月天丁香婷婷综合久久| 五月婷婷欧美| 一级片一区| 精品久久久久久中文字幕女| 午夜国产理论| 91香蕉国产亚洲一二三区 | 亚洲中文字幕在线精品一区| 国产激情无码一区二区APP| 日本午夜三级| 国产va免费精品观看| 一级全黄毛片| 亚洲黄色成人| 免费视频在线2021入口| 精品在线免费播放| 日本久久网站| 91精品久久久久久无码人妻| 日韩专区欧美| 国内a级毛片| 午夜无码一区二区三区在线app| 亚洲一道AV无码午夜福利| 狠狠亚洲婷婷综合色香| 又爽又大又光又色的午夜视频| 无码AV日韩一二三区| 久久久久久尹人网香蕉| 日韩毛片免费| 欧美人与性动交a欧美精品| 国产成人a毛片在线| 九九视频免费在线观看| 久热中文字幕在线| 日本精品视频一区二区| 亚洲bt欧美bt精品| a毛片在线播放| 亚洲日韩日本中文在线| 91精品啪在线观看国产60岁| 亚洲男人的天堂在线| 久久久久无码国产精品不卡| 在线观看网站国产| 黄色网页在线观看| 人人91人人澡人人妻人人爽| 欧洲精品视频在线观看| 日韩福利视频导航| 国产精品视频公开费视频| 亚洲网综合|