陳榮興
摘要:對于高可靠軟件的可靠性評估一般有兩種方法,一種是選擇在小樣本失效數(shù)據(jù)情況下能夠準(zhǔn)確進(jìn)行軟件可靠性評估的模型,另一種方法是基于故障注入技術(shù)和加速壽命試驗(yàn)原理,短時間內(nèi)獲得待評估軟件更多的失效數(shù)據(jù)。該文主要對基于故障注入技術(shù)和加速壽命試驗(yàn)原理的軟件可靠性評估技術(shù)進(jìn)行研究,介紹了故障注入原理和技術(shù)分類、加速壽命試驗(yàn)原理和模型,并結(jié)合兩者分析了可靠性評估技術(shù)的可行性,提出了需要解決的問題和對應(yīng)的解決思路。
關(guān)鍵詞:故障注入;加速壽命試驗(yàn);可靠性評估;高可靠軟件
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)04-0265-02
隨著計算機(jī)的廣泛使用,計算機(jī)系統(tǒng)的可靠性越來越受到人們的關(guān)注。在一些關(guān)鍵領(lǐng)域,如高鐵、航空航天、核工業(yè)等領(lǐng)域,計算機(jī)的失效會導(dǎo)致重大的經(jīng)濟(jì)損失,甚至喪失生命。如何獲取系統(tǒng)的可靠性指標(biāo),如可靠度、平均失效時間(MTTF)、失效率等,顯得尤為重要。
1 背景
關(guān)于軟件可靠性評估的研究始于1956年,Weiss對于失效服從泊松分布的復(fù)雜系統(tǒng)提出了估計可靠性增長的方法,1972年Jelinski和Moranda提出了著名的軟件可靠性評估J-M模型,自此開始,軟件可靠性模型研究取得了突飛猛進(jìn)的發(fā)展,人們在已有軟件可靠性模型的基礎(chǔ)之上根據(jù)不同軟件的特性不斷提出新的模型和方法[1]。對于一般軟件來說,在一段運(yùn)行時間內(nèi),往往可以得到足夠的失效數(shù)據(jù),但對于一些高可靠軟件來說,一般得不到充足的失效數(shù)據(jù)。高可靠軟件大多功能單一,開發(fā)過程中引入了可靠性設(shè)計,且前期的軟件測試也比較充分,因此可靠性測試階段一般很少會發(fā)生失效。如果選擇了不合適的模型,由于失效數(shù)據(jù)較少,模型的評估結(jié)果一般會有較大偏差?;诠收献⑷爰夹g(shù)和加速壽命試驗(yàn)原理的可靠性評估技術(shù)能夠在短時間內(nèi)獲取待評估軟件更多的失效數(shù)據(jù)。
2 故障注入
2.1 故障注入原理
故障注入用一般用于驗(yàn)證,使用確定性的或隨機(jī)的方法,在被驗(yàn)證的系統(tǒng)中人工制造故障,即用人工故障代替自然產(chǎn)生的物理故障,以縮短驗(yàn)證的周期。它按照選定的故障類型,用人工的方法產(chǎn)生故障,再將其施加于目標(biāo)計算機(jī)系統(tǒng)上以加速它出錯,相應(yīng)的故障響應(yīng)信息被及時收集和分析,最終的試驗(yàn)結(jié)果將提供給有關(guān)人員。
2.2 故障注入技術(shù)分類
根據(jù)注入對象是否為真實(shí)系統(tǒng),可以將其分為基于模擬的方法以及基于原型的故障注入,如圖1所示[2]。對于基于模擬的故障注入方法,根據(jù)系統(tǒng)的層級進(jìn)行劃分,可以分為晶體管級、邏輯級和功能級?;谠偷墓收献⑷敕椒ǜ鶕?jù)其具體實(shí)施手段的不同,可以分為硬件實(shí)施、軟件實(shí)施和物理實(shí)施,每種實(shí)施方法又對應(yīng)不同的實(shí)施工具。
3 加速壽命試驗(yàn)
3.1 加速壽命試驗(yàn)原理
加速壽命試驗(yàn)的基本原理是在不改變產(chǎn)品的失效機(jī)理,不增加新的失效因素的前提下,提高試驗(yàn)應(yīng)力,加速產(chǎn)品的失效過程,促使產(chǎn)品在短期內(nèi)失效,再根據(jù)試驗(yàn)數(shù)據(jù),運(yùn)用加速壽命曲線或加速壽命方程推算出正常應(yīng)力下的產(chǎn)品壽命。試驗(yàn)應(yīng)力包括機(jī)械應(yīng)力、熱應(yīng)力、電應(yīng)力等。根據(jù)應(yīng)力施加方式,試驗(yàn)類型可以分為:恒定應(yīng)力加速壽命試驗(yàn)、步進(jìn)應(yīng)力加速壽命試驗(yàn)和序進(jìn)應(yīng)力加速壽命試驗(yàn)。
3.2 加速壽命試驗(yàn)?zāi)P?/p>
加速壽命試驗(yàn)主要需要考慮應(yīng)力集、工作負(fù)載、試驗(yàn)對象和結(jié)果集等四個因素。用于加速壽命試驗(yàn)的模型(AT)可以用以下四元組來描述:
其中,S、W、T、R分別為應(yīng)力集、工作負(fù)載、試驗(yàn)對象和結(jié)果集,S與W構(gòu)成AT的輸入域,R為AT的直接測量值。
加速壽命試驗(yàn)?zāi)P腿鐖D 2所示。從應(yīng)力集選取,從工作負(fù)載選取, 同時施加于試驗(yàn)對象,試驗(yàn)產(chǎn)生的結(jié)果寫回結(jié)果集,構(gòu)成一組加速壽命試驗(yàn)的數(shù)據(jù)。
4 基于故障注入技術(shù)和加速壽命試驗(yàn)原理的高可靠軟件評估技術(shù)所面臨的問題與挑戰(zhàn)
結(jié)合故障注入技術(shù)的特點(diǎn),以及加速壽命試驗(yàn)的試驗(yàn)要求,對高可靠性軟件進(jìn)行可靠性評估有以下問題需要解決。
1) 壽命試驗(yàn)類型的選擇
由于恒定應(yīng)力加速壽命試驗(yàn)方法操作簡單,數(shù)據(jù)處理模型成熟,精度較高,在實(shí)際中被廣泛采用。而將加速壽命試驗(yàn)原理應(yīng)用于軟件的評估尚處于初步階段,采用恒定應(yīng)力加速壽命試驗(yàn)可以降低試驗(yàn)的難度。隨著技術(shù)研究地不斷深入,可以進(jìn)行恒定應(yīng)力加速壽命試驗(yàn)等。
2) 應(yīng)力的構(gòu)建
以嵌入式應(yīng)用軟件為例,嵌入式平臺的氣候環(huán)境應(yīng)力、機(jī)械環(huán)境應(yīng)力、生物及化學(xué)環(huán)境應(yīng)力、電應(yīng)力及輻射應(yīng)力等各種環(huán)境應(yīng)力匯集而成的導(dǎo)致其失效的作用力之一。各應(yīng)力的綜合作用,導(dǎo)致待評估軟件的運(yùn)行環(huán)境產(chǎn)生故障。因此,我們可以選取故障及其相關(guān)屬性來構(gòu)建應(yīng)力,例如故障的數(shù)量[3]、危害度和故障發(fā)生頻率等。
3) 應(yīng)力水平的確定
應(yīng)力水平是應(yīng)力所處的某個級別,加速壽命試驗(yàn)需要分別在不同應(yīng)力水平下進(jìn)行試驗(yàn)并獲取失效數(shù)據(jù)。加速應(yīng)力水平的確定將涉及三個參數(shù):最低應(yīng)力水平、最高應(yīng)力水平和加速應(yīng)力水平的數(shù)量。一般來說,應(yīng)力水平數(shù)量越多,試驗(yàn)得到的數(shù)據(jù)越多,統(tǒng)計分析的精度越高。然而,試驗(yàn)次數(shù)會相應(yīng)增多,試驗(yàn)時間和試驗(yàn)成本也會上升。在確定了最低應(yīng)力水平、最高應(yīng)力水平和加速應(yīng)力水平的數(shù)量之后,可以用某種應(yīng)力間隔劃分算法來獲取當(dāng)中的應(yīng)力水平,如等間隔劃分法。
4) 加速應(yīng)力的施加
加速應(yīng)力的施加是通過故障注入技術(shù)來實(shí)現(xiàn)的。以嵌入式應(yīng)用軟件為例,故障注入的對象包括嵌入式平臺的專用硬件層、系統(tǒng)軟件層。考慮到可靠性評估的要求和注入的成本,一般以軟件實(shí)施的故障注入方式進(jìn)行動態(tài)注入。
5) 加速壽命試驗(yàn)的停止時間
為了縮短試驗(yàn)時間,降低試驗(yàn)成本,同時又不降低統(tǒng)計分析的精度,一般在組成恒定應(yīng)力加速壽命試驗(yàn)的每組壽命試驗(yàn)中采用定數(shù)截尾壽命試驗(yàn)。根據(jù)GB-T2689.1-1981,每個應(yīng)力水平下的樣品數(shù)量不少于10只,特殊產(chǎn)品不少于5只。 對一般產(chǎn)品的截尾試驗(yàn)要求是否同樣適用于軟件,還需要進(jìn)一步地驗(yàn)證。
5 結(jié)束語
基于故障注入技術(shù)和加速壽命試驗(yàn)原理的軟件可靠性評估技術(shù)方法,能夠在短時間內(nèi)獲取更多的失效數(shù)據(jù),為高可靠軟件的可靠性評估提供一種實(shí)踐方法。同時,將加速壽命試驗(yàn)應(yīng)用于軟件的相關(guān)理論和技術(shù)都非常匱乏,可以圍繞其展開大量的研究工作。
參考文獻(xiàn):
[1] 陸民燕. 軟件可靠性工程[M]. 北京: 國防工業(yè)出版社, 2011: 282-296.
[2] Mei-Chen Hsueh, Tsai T K, Iyer R K. Fault injection techniques and tools[J]. IEEE Transactions on Computers, 1997, 30(4):75-82.
[3] 靳昂, 江建慧, 樓俊鋼. 基于加速壽命試驗(yàn)的Web服務(wù)器測評[J]. 計算機(jī)研究與發(fā)展, 2010(S1):229-236.