《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > IEEE软件可靠性系列标准分析
IEEE软件可靠性系列标准分析
来源:微型机与应用2011年第3期
郑 军,封二强,刘 畅
(中国航空综合技术研究所,北京 100028)
摘要: 对IEEE软件可靠性系列标准进行分析,总结了IEEE制定软件可靠性标准的经验,以及软件可靠性发展趋势。同时,结合我国软件可靠性标准化工作现状,提出软件可靠性标准的制定及相关标准修订的可借鉴之处。
Abstract:
Key words :

摘  要: 對IEEE軟件可靠性系列標準進行分析,總結(jié)了IEEE制定軟件可靠性標準的經(jīng)驗,以及軟件可靠性發(fā)展趨勢。同時,結(jié)合我國軟件可靠性標準化工作現(xiàn)狀,提出軟件可靠性標準的制定及相關(guān)標準修訂的可借鑒之處。
關(guān)鍵詞: 軟件可靠性標準;軟件可靠性度量;軟件可靠性評估過程;軟件可靠性模型

 隨著計算機技術(shù)的快速發(fā)展,現(xiàn)代航電系統(tǒng)大量使用軟件系統(tǒng),其中某些軟件系統(tǒng)在保證航空系統(tǒng)安全、可靠完成任務(wù)時起到了至關(guān)重要的作用,但這些軟件的失效可能導致災(zāi)難性后果。
 為了提高軟件可靠性,相關(guān)領(lǐng)域的學者展開了廣泛的軟件可靠性研究,特別是全球最大的專業(yè)學術(shù)組織IEEE,更是在這方面作出了卓越的成績。IEEE在開展軟件可靠性研究的同時,也非常重視相關(guān)標準的制定工作。1988年,IEEE制定了第一份關(guān)于軟件可靠性度量體系方面的標準[1]以及該標準的實施指南[2]。2005年,IEEE對軟件可靠性度量體系標準進行了修訂[3]。2008年,IEEE對R-013-1992標準進行修訂 [4],R-013-1992標準是AIAA(美國航空與航天學會)在1992年制定的關(guān)于軟件可靠性評估的標準[5],這也說明IEEE在軟件可靠性方面的成績是國際公認的。
 IEEE主要制定了軟件可靠性度量體系和評估兩方面的標準。本文將對IEEE制定的軟件可靠性標準進行介紹和分析,總結(jié)IEEE制定軟件可靠性標準的經(jīng)驗,以及軟件可靠性發(fā)展趨勢,結(jié)合我國軟件可靠性標準現(xiàn)狀,提出可靠性標準的制定及相關(guān)標準修訂的可以借鑒之處。
1 IEEE軟件可靠性標準分析
1.1 標準簡介

 IEEE軟件可靠性標準主要包括軟件可靠性度量體系和軟件可靠性評估兩方面。其中,軟件可靠性度量體系由IEEE Std 982.1-2005(軟件可信性度量詞典)和IEEE Std 982.2-1988(軟件可靠性度量實施指南)組成,IEEE Std 982.1-2005是IEEE Std 982.1-1988的修訂版;軟件可靠性評估主要包括IEEE Std 1633-2008(軟件可靠性操作規(guī)程),它發(fā)布于2008年,替代了AIAA/ANSI R-013-1992(軟件可靠性操作規(guī)程)。
 在IEEE軟件可靠性標準體系中,IEEE Std 982.1-2005主要回答了使用哪些參數(shù)對軟件可靠性進行度量的問題,即用戶可以通過哪些方面對軟件質(zhì)量、特別是軟件的可靠性進行了解和評價。與IEEE Std 982.1-1988相比,IEEE Std 982.1-2005作出了較大程度的修改。1988版關(guān)于軟件可靠性屬性有39個不同的度量參數(shù),而2005版中只有12個,并且其中75%的度量參數(shù)是新增或修改的。
 IEEE Std 982.2-1988主要回答了如何使用這些度量參數(shù)對軟件可靠性進行度量的問題,但是該標準主要是針對IEEE Std 982.1-1988度量參數(shù)體系的,而IEEE Std 982.1-2005中有75%的度量參數(shù)和IEEE Std 982.1-1988不一樣。因此,對于當前的軟件可靠性度量參數(shù)體系,該標準實際上已經(jīng)失去了指導意義。
 IEEE Std 1633-2008主要解決了如何進行軟件可靠性評估的問題,包括軟件可靠性評估過程和軟件可靠性評估模型兩方面。其中,軟件可靠性評估過程包含13個步驟,這些步驟不是全部必需的,可根據(jù)軟件特點和當前所處的軟件生命周期階段進行刪減;軟件可靠性評估模型方面推薦了三個模型,這三個模型都是在實際工程中表現(xiàn)優(yōu)異的評估模型。
1.2 軟件可靠性度量參數(shù)體系
 IEEE Std 982.1-2005是IEEE Std 982.1-1988的修訂版,它體現(xiàn)了軟件可靠性作為軟件質(zhì)量重要屬性在軟件質(zhì)量控制方面的新方法和新趨勢。與1988版相比,2005版作出了較大程度的修改。1988版關(guān)于軟件的可靠性屬性有39個不同的度量參數(shù),而2005版刪除了其中的32個度量參數(shù),并對剩余度量參數(shù)中4個進行了修改,只有3個得到完全保留,同時新增了5個度量參數(shù)。即可靠性度量參數(shù)由原來的39個變更為12個,其中有75%的度量參數(shù)是新增或修改的??梢哉f2005版基本上重新定義了軟件可靠性的度量體系,新度量參數(shù)體系如表1所示。
 IEEE在選取度量參數(shù)建立軟件可靠性度量參數(shù)體系時,有如下準則:
 (1)該參數(shù)是否得到了學術(shù)界和工業(yè)界的公認;
 (2)該參數(shù)是否能有效地反映出軟件可靠性的真實情況;
 (3)該參數(shù)是否過于復(fù)雜,以至難于使用和理解;
 (4)該參數(shù)適用情況是否過于狹小。
 從IEEE選取度量參數(shù)的準則可以看出,軟件可靠性度量的發(fā)展趨勢是統(tǒng)一、簡單、方便使用,這說明軟件可靠性度量未來的發(fā)展會更加適用于工程需要。
1.3 軟件可靠性評估
 IEEE Std 1633-2008是IEEE最新發(fā)布的軟件可靠性評估標準,也是當前最新的關(guān)于軟件可靠性評估的國際標準。與AIAA/ANSI R-013-1992相比,IEEE Std 1633-2008主要的變化包括:將軟件的整個生命周期納入到了軟件可靠性評估中,如圖1所示;對軟件需求修改進行風險分析;將達到特定軟件可靠性指標,所需測試時間的預(yù)計加入評估過程;將Schneidewind模型新增為初始模型,并在初始模型中刪除了L-V模型。

 IEEE Std 1633-2008主要包括軟件可靠性評估過程和軟件可靠性評估模型兩部分。
1.3.1軟件可靠性評估過程
 IEEE Std 1633-2008規(guī)定了軟件可靠性評估過程,包括:明確軟件系統(tǒng)構(gòu)成、明確軟件系統(tǒng)的可靠性邏輯結(jié)構(gòu)、分配可靠性指標、需求修改風險評估、明確軟件失效定義、確定軟件運行環(huán)境、確定測試用例、選擇評估模型、收集失效數(shù)據(jù)、進行模型參數(shù)估計、驗證模型有效性、進行軟件可靠性評估、預(yù)計剩余測試時間等13個步驟,如圖2所示。這些步驟可根據(jù)軟件特點和當前所處的生命周期階段進行刪減。

1.3.2軟件可靠性評估模型
 通過分析軟件可靠性評估模型的作用、建立的前提條件、影響模型精度的因素、適用的可靠性評估范圍、模型的優(yōu)勢和局限性,IEEE Std 1633-2008將當前主要評估模型分為三類:(1)指數(shù)類非均勻泊松(NHPP)模型;(2)非指數(shù)類NHPP模型;(3)貝葉斯類模型。具體分類情況及各類中代表性的模型如圖3所示。

 IEEE Std 1633-2008通過模型的精度、偏差、趨勢三方面評價模型的有效性,并給出三個初始模型(優(yōu)先使用的模型):Schneidewind模型、一般指數(shù)類模型、M-O對數(shù)模型。這三個初始模型是該標準推薦優(yōu)先使用的評估模型,也是經(jīng)過實際工程檢驗性能表現(xiàn)良好的模型。從推薦的初始模型可以看出,貝葉斯類模型不是該標準優(yōu)先推薦使用的模型。這是由于貝葉斯類模型參數(shù)較為復(fù)雜,不便于工程使用。因此,可以看出IEEE在新標準的制定過程中始終以工程使用為向?qū)А?br />  如果三個初始模型都不能滿足工程要求,可以使用該標準附錄中推薦的四個評估模型:L-V模型、Duane模型、S-形模型、J-M模型。
2 對我國軟件可靠性標準工作的借鑒意義
2.1 我國軟件可靠性標準化現(xiàn)狀

 20世紀90年代至今,我國在借鑒國外相關(guān)標準的情況下也制定了自己的軟件可靠性標準。與軟件可靠性相關(guān)的標準有GJB-451A-2005《可靠性維修性保障性術(shù)語》[6]和GJB/Z102-1997《軟件可靠性和安全性設(shè)計準則》[7]。
 國軍標GJB-451A-2005對產(chǎn)品(包括軟件、硬件或兩者結(jié)合)的可靠性、維修性、保障性術(shù)語進行了定義,但是,其中只有3條是IEEE Std 982.1-2005中有的,即IEEE Std 982.1-2005中有9條度量參數(shù)是國內(nèi)標準所沒有的,占度量參數(shù)總數(shù)的75%,其中包括:危險因子、剩余缺陷數(shù)、剩余測試時間、網(wǎng)絡(luò)可靠性、缺陷密度、測試覆蓋率、故障密度、軟件需求的可追溯性。
 國軍標GJB/Z 102-1997《軟件可靠性和安全性設(shè)計準則》介紹了軟件可靠性設(shè)計的目的及實現(xiàn)技術(shù)方法。
我國雖然開展了軟件可靠性標準化工作,但是還處在相對落后的階段,主要存在以下不足:
 (1)沒有針對軟件可靠性建立完整的度量參數(shù)體系,使得軟件可靠性評價工作不能得到有效開展。
 (2)缺少關(guān)于軟件可靠性評估方面的標準,使得軟件可靠性評估工作不具備操作性,軟件的可靠性指標無法得到驗證。
 (3)沒有將軟件的整個生命周期納入軟件可靠性范疇,使得軟件可靠性得不到全面的提升。
因此,在航空、航天等軟件密集型的國防領(lǐng)域開展相關(guān)的軟件可靠性標準化及軟件可靠性實踐工作勢在必行。
2.2 IEEE軟件可靠性標準的借鑒意義
 通過對IEEE軟件可靠性系列標準和我國軟件可靠性標準化現(xiàn)狀的分析,可知以下值得借鑒的經(jīng)驗:
 (1)IEEE軟件可靠性標準建立了完整的度量參數(shù)體系,該標準在參數(shù)選取上遵循四大準則,始終以工程需求為導向,以學術(shù)研究成果為支撐。因此,我國在軟件可靠性度量參數(shù)體系標準建設(shè)時,應(yīng)充分考慮工程需求和學術(shù)成果的結(jié)合。
 (2)IEEE軟件可靠性標準將軟件全生命周期和軟件可靠性評估相結(jié)合,將軟件可靠性工作融合到軟件生命周期的各個階段中。我國軟件可靠性標準也應(yīng)結(jié)合現(xiàn)階段我國軟件開發(fā)方式以及采用的工程技術(shù),在軟件的整個生存周期綜合考慮軟件可靠性,這樣不僅有利于軟件可靠性工作的組織和開展,也有利于合理地利用現(xiàn)有資源,提高軟件可靠性工作的效率。
 (3)IEEE軟件可靠性標準建立了一個可進行自由裁剪的可靠性評估過程,以適應(yīng)各種工程評估情況,充分考慮了標準的可操作性和工程易用性。因此,我國的軟件可靠性標準也應(yīng)該綜合考慮軟件工程中的各種情況,以提高軟件可靠性標準執(zhí)行過程的可操作性,做到軟件可靠性標準通用性和針對性相結(jié)合。
 (4)IEEE軟件可靠性標準充分考慮了當前軟件可靠性的研究成果,及時地將最新技術(shù)納入標準中。我國制定軟件可靠性標準時,也應(yīng)該及時將最新學術(shù)成果進行分析、轉(zhuǎn)化,以加快科學技術(shù)轉(zhuǎn)化為生產(chǎn)力的步伐。
 通過對IEEE軟件可靠性系列標準進行分析,并結(jié)合我國軟件可靠性標準化現(xiàn)狀,提出我國軟件可靠性標準化工作應(yīng)該借鑒IEEE軟件可靠性標準體系,并且要充分考慮我國軟件技術(shù)和軟件工程化水平,將軟件全生命周期納入到軟件可靠性工程中來,定義明確的、便于工程使用的軟件可靠性度量體系,并建立適應(yīng)各種工程情況的可靠性評估過程,充分考慮標準的可操作性和工程易用性。同時,要緊跟工程需求和軟件可靠性技術(shù)發(fā)展方向,以便及時將最新學術(shù)成果進行分析、轉(zhuǎn)化,為型號工程提供支撐。
參考文獻
[1] IEEE STD 982.1-1988. Dictionary of measures to produce reliable software. 1988.
[2] IEEE STD 982.2-1988. IEEE guide for the use of IEEE standard dictionary of measures to produce reliable software. 1988.
[3] IEEE STD 982.1-2005. Dictionary of measures of the software aspects of dependability. 2005.
[4] IEEE STD 1633-2008. IEEE recommended practice on software reliability. 2008.
[5] AIAA/ANSI R-013-1992. Recommended practice for software reliability. 1992.
[6] GJB 451A-2005.可靠性維修性保障性術(shù)語.2005.
[7] GJB/Z 102-1997.軟件可靠性和安全性設(shè)計準則.1997.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容