国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于失效模式的軟件可靠性評估模型

2023-07-12 08:44:24李海峰
軟件工程 2023年7期
關鍵詞:軟件可靠性失效率軟件測試

田 雷 ,封 亮 ,李海峰

(1.上海華訊網(wǎng)絡系統(tǒng)有限公司,上海 201620;2.北京航空航天大學,北京 100183)

0 引言(Introduction)

軟件尤其是安全關鍵軟件的失效可能會導致財產(chǎn)損失甚至人員傷亡。因此,可靠性已成為軟件發(fā)布時用戶最為關心的驗證指標[1]。作為軟件可靠性定量評估的重要手段,軟件可靠性模型已經(jīng)成功地應用于各種類型關鍵軟件的開發(fā)過程[2-3]。

現(xiàn)有軟件可靠性模型主要依據(jù)基于運行剖面的軟件可靠性測試中收集的失效時間數(shù)據(jù),對失效行為進行定量評估或預計,其存在揭錯效率低下、工作量巨大等情況[4-8]。為解決這些問題,已有研究提出一個基于順序統(tǒng)計量的軟件可靠性模型處理混合測試數(shù)據(jù),但其需要同時開展功能測試以及可靠性測試,工作量較大[9];而基于失效模式的軟件測試方法,雖然可以提升揭錯效率,但是其產(chǎn)生的失效數(shù)據(jù)卻不能用已有的模型進行處理,難以準確刻畫軟件運行時的可靠性。

因此,本文在傳統(tǒng)軟件可靠性模型的基礎上,面向基于失效模式的軟件測試過程,借助失效模式概率與馬爾科夫過程,提出一種新的軟件可靠性評估模型,并在某型動力控制軟件測試失效數(shù)據(jù)上開展工程實踐。應用結(jié)果表明,新模型可對軟件測試過程中的失效數(shù)據(jù)進行處理,獲得準確的軟件可靠性定量評估結(jié)果。

1 基于運行剖面與輸入空間的失效模式概率(The failure mode probability based on the operation profile and input domain)

1.1 軟件失效模式概率概述

軟件運行過程中接收外部輸入數(shù)據(jù),如果功能處理過程出現(xiàn)異常,則外部輸出數(shù)據(jù)也會出現(xiàn)異常,導致軟件運行出現(xiàn)失效(即軟件動態(tài)執(zhí)行的輸出為不希望或不可接受的結(jié)果,是軟件系統(tǒng)運行行為對用戶要求的偏離),即“輸入—處理—輸出”軟件失效鏈模型,該模型認為決定失效模式發(fā)生概率的主要因素有兩點,即失效模式所在功能的執(zhí)行概率,以及觸發(fā)失效模式的輸入空間分布概率[10]。

記失效模式k的發(fā)生概率為φk,失效模式k所在的功能m的執(zhí)行概率為f p m,失效模式k的輸入空間分布概率為εIPD,則失效模式k發(fā)生概率可由公式(1)計算:

由公式(1)可知,若想計算失效模式k的發(fā)生概率,需要先計算功能m的執(zhí)行概率f p m與失效模式k的輸入空間分布概率εIPD。

1.2 基于運行剖面的功能執(zhí)行概率

假定軟件共有n個功能,各項功能的執(zhí)行概率記為。依據(jù)軟件運行剖面,確定功能之間轉(zhuǎn)移關系的定量描述,即針對功能f i,假定其在運行剖面中共有path i條轉(zhuǎn)移路徑(從起始點到結(jié)束點之間的若干功能之間轉(zhuǎn)移所組成的一條通路)可以經(jīng)過功能f i,則稱這些轉(zhuǎn)移路徑為功能f i的可達路徑。

假設功能f i的可達路徑K(K=1,…,path i)上共有K ik次轉(zhuǎn)移,每次轉(zhuǎn)移的發(fā)生概率記為tp ikj(j=1,…,K ik,tp ikj≤1),則功能f i的每條可達路徑上轉(zhuǎn)移概率的乘積之和即為功能f i的執(zhí)行概率fp i,如公式(2)所示:

1.3 軟件輸入空間分布概率

軟件輸入數(shù)據(jù)C的有效取值區(qū)間為ψ,無效取值區(qū)間為θ,則輸入數(shù)據(jù)C的取值空間?=ψ∪θ??梢罁?jù)軟件歷史運行數(shù)據(jù),對輸入數(shù)據(jù)C取值區(qū)間的分布概率進行計算,具體計算方法如下。

假設共有m組運行數(shù)據(jù),每組數(shù)據(jù)中均記錄輸入數(shù)據(jù)C的取值情況。假定第i組數(shù)據(jù)下,輸入數(shù)據(jù)C在有效取值區(qū)間ψ的取值次數(shù)為k i N,在無效取值區(qū)間θ的取值次數(shù)為k i A,則輸入數(shù)據(jù)C有效取值區(qū)間ψ的分布概率εψ如公式(3)所示:

輸入數(shù)據(jù)C無效取值區(qū)間θ的分布概率εθ如公式(4)所示:

1.4 基于功能執(zhí)行與輸入分布的失效模式概率

基于軟件功能執(zhí)行概率與輸入分布概率的計算,本文提出軟件失效模式概率的計算方法如下。

假設失效模式k的發(fā)生概率記為φk,其所在功能m的執(zhí)行概率記為f p m,并且失效模式k與功能m的一個或多個不同類型的輸入數(shù)據(jù)相關。

假定失效模式k對應一個輸入數(shù)據(jù)C,若該輸入數(shù)據(jù)C在無效取值區(qū)間θ取值時,導致失效模式k發(fā)生,則可依據(jù)公式(4)計算無效取值區(qū)間的分布概率εθ。

依據(jù)上述計算結(jié)果,可得到軟件失效模式k的發(fā)生概率φk如公式(5)所示:

2 基于馬爾科夫過程與失效模式的軟件可靠性評估模型(Soft ware reliability evaluation model based on Markov process and failure modes)

2.1 基于失效模式概率的功能失效率評估

假定軟件失效模式總數(shù)為N,在測試過程中共探測到m個失效模式,每個失效模式的發(fā)生概率記為φk,k=1,…,m。整個軟件測試過程中,累積失效模式概率記為{k,φk|k=1,…,m},k表示測試過程中的累積失效模式個數(shù);φk為測試過程中的累積失效模式概率,即。

將軟件測試結(jié)束時的功能失效率記為λO,軟件測試開始時的功能失效率記為λI。本論文提出如下幾個假設,為軟件功能失效率的評估奠定基礎。

假設1:功能失效率是當前殘存失效模式的發(fā)生概率之和。

假設2:考慮到學習因素的影響,軟件測試過程中累積失效模式概率的增長速率可能會呈現(xiàn)先增后減的“S”形增長趨勢。

根據(jù)假設2,本論文采用變形“S”形函數(shù)描述累積失效模式概率φk的這種“S”形增長趨勢,如公式(6)所示:

其中,φmax=λI=φN,c,b,q為參數(shù)常量。

假設3:假定功能失效模式總數(shù)N是有限的。

進而獲得功能失效率的估計值如公式(8)所示:

2.2 基于馬爾科夫過程的軟件可靠性建模

馬爾科夫過程具有“無后效性”,即系統(tǒng)在下一時刻所要執(zhí)行的功能,僅取決于當前時刻的執(zhí)行功能。針對長時間連續(xù)運行的軟件,功能之間的轉(zhuǎn)移關系通常近似服從馬爾科夫過程?;谏鲜龇治?本論文提出如下建模假設。

假設1:軟件可劃分為有限個獨立的功能模塊。

假設2:軟件運行過程中,各項功能之間的轉(zhuǎn)移關系服從馬爾科夫過程。

假定軟件具有n個功能,功能i轉(zhuǎn)移到功能模塊j的轉(zhuǎn)移概率記為p ij。將轉(zhuǎn)移概率p ij依次排列,構成功能轉(zhuǎn)移概率矩陣P如公式(9)所示:

功能轉(zhuǎn)移概率矩陣P是一個n階矩陣,具有如下性質(zhì)。

性質(zhì)1:p ij≥0,即每個元素均是非負的;

由于軟件可靠性表示軟件最終成功地完成任務的概率,因此對于假定服從馬爾科夫過程的軟件可靠性R,可以用功能模塊失效率λi和功能轉(zhuǎn)移概率矩陣P表示。即對于有n個功能的軟件,軟件可靠性函數(shù)可表示為公式(10):

其中,p i表示功能模塊F i的執(zhí)行概率,p ij表示在下一項操作時由功能模塊F i遷移到模塊F j的概率,λi表示功能模塊F i的失效率,t表示軟件運行或測試時間。

3 實例應用(Case study)

本論文針對某型動力控制系統(tǒng)軟件開展工程應用,驗證基于失效模式的軟件可靠性評估模型的有效性和可行性。具體的應用步驟與評估結(jié)果如下。

(1)應用概述。針對某型動力控制系統(tǒng)軟件進行基于失效模式的軟件可靠性測試,共執(zhí)行測試用例185項,總測試時間約502 h,確認13項軟件問題(對應13項軟件失效模式,問題編號分別為REQ-01至REQ-13),受篇幅限制,問題內(nèi)容不再詳述。

(2)軟件失效模式概率計算。針對軟件外場運行數(shù)據(jù)進行統(tǒng)計分析,評估運行剖面中每項功能的執(zhí)行概率。以“初始化功能”為例,其在外場運行過程中,有效執(zhí)行時間為43 h,而軟件的總運行時間總計863 h。所以,“初始化功能”的執(zhí)行概率為43/863≈0.049 8。由此也可獲得該動力控制軟件全部功能的執(zhí)行概率計算結(jié)果,如表1所示。

表1 軟件功能執(zhí)行概率Tab.1 Operation probabilities of the software functions

針對軟件外場運行數(shù)據(jù)進行統(tǒng)計分析,確認每項外部輸入接口數(shù)據(jù)在不同值域的取值概率。以輸入接口數(shù)據(jù)“啟動信號”為例,該數(shù)據(jù)為離散型,取值值域為{0,1},取值為0表示啟動無效(即異常值),1表示啟動有效(即正常值)。在外場運行過程中,數(shù)據(jù)取值為0的時間為24.6 h,取值為1的時間為838.4 h。所以,“啟動信號”取值為0的概率為24.6/863≈0.028,取值為1的概率為1-0.028=0.972。

依據(jù)表1中的功能執(zhí)行概率,以及外部輸入接口數(shù)據(jù)的取值概率,對每項失效模式的發(fā)生概率進行計算。本文以失效模式“REQ-01”為例,說明該失效模式的發(fā)生概率計算過程如下。

首先,確定失效模式“REQ-01”對應功能的執(zhí)行概率。該失效模式與“啟動功能”相關,由表1可知,“啟動功能”的執(zhí)行概率為0.034 8;然后,確定失效模式REQ-01對應外部輸入接口數(shù)據(jù)的取值概率分布。該失效模式是由“啟動信號”取值為0(異常值)引發(fā)的。所以,該失效模式對應的外部接口數(shù)據(jù)取值概率應為取值為0的發(fā)生概率,即0.028。最后,計算失效模式REQ-01的發(fā)生概率為0.034 8×0.028=0.000 974 4。

(3)基于失效模式的功能失效率計算。依據(jù)失效模式的發(fā)生概率,以及功能執(zhí)行概率,計算失效模式相關功能的失效率。以“啟動功能”為例,說明該項功能失效率的計算過程。在本次軟件可靠性測試過程中,與“啟動功能”相關的失效模式為REQ-01、REQ-02、REQ-03,進而根據(jù)模式假設3進行功能失效率計算。

(4)基于功能失效率的軟件失效率計算。依據(jù)功能失效率以及表1中的功能執(zhí)行概率,對軟件失效率λ進行計算,具體過程如下。

依據(jù)式λ=λ1p1+λ2p2+…+λnp n,需確定動力控制軟件的所有失效模式發(fā)生概率及相應功能的執(zhí)行概率。軟件失效率^λ經(jīng)計算得

即動力控制系統(tǒng)軟件的平均失效前間隔時間MTBF=1/^λ≈100.24 h。

(5)與傳統(tǒng)軟件可靠性測試評估方法的比對分析。該動力控制系統(tǒng)軟件曾經(jīng)進行過基于運行剖面的傳統(tǒng)軟件可靠性測試評估試驗,共用時1 100 h,發(fā)現(xiàn)軟件問題11項。將這種基于運行剖面的傳統(tǒng)軟件可靠性測試評估方法(傳統(tǒng)方法),與本文提出的基于失效模式的軟件可靠性測試評估方法(新方法)相比,可以得出如下對比分析結(jié)果。①新方法可有效提升軟件的揭錯效率。本論文借助基于失效模式的軟件可靠性測試,共識別13項軟件問題;而傳統(tǒng)的基于運行剖面的軟件可靠性測試只發(fā)現(xiàn)了11項問題。因此,相比傳統(tǒng)可靠性測試,本文所提軟件的揭錯效率提升了(13-11)/11×100%≈18.2%。②新方法顯著降低軟件測試工作量。基于失效模式的軟件可靠性測試所用的測試時間僅為502 h,而傳統(tǒng)軟件可靠性測試則用時為1 100 h。因此,測試工作量降低了(1 100-502)/1 100×100%≈54.4%。③新方法可獲得與傳統(tǒng)方法同樣準確的軟件可靠性評估結(jié)果。借助經(jīng)典軟件可靠性模型(GO 模型),計算軟件的MTBF為103.41 h。借助本論文提出的模型,計算軟件的MTBF為100.24 h,二者之間的誤差僅為3.1%。因此,與經(jīng)典的GO模型相比,本文所提模型也可以獲得較為準確的可靠性評估結(jié)果。

4 結(jié)論(Conclusion)

本文提出一種新的基于失效模式的軟件可靠性定量評估模型。首先,借助運行剖面與輸入空間計算失效模式概率,進而評估軟件功能失效率;然后,借助馬爾科夫過程實現(xiàn)基于失效模式的軟件可靠性定量評估。實例應用結(jié)果表明,本文提出的基于失效模式的軟件可靠性測試方法以及評估模型,可提升18.2%的揭錯效率,降低54.4%的測試工作量,可以獲得準確的軟件可靠性評估結(jié)果,同時適用于軟件可靠性測試。

本文所提可靠性評估模型的準確性可能受限于軟件測試的充分性,即如果軟件測試數(shù)據(jù)未覆蓋所有功能及其接口時,可能會對失效模式概率以及功能執(zhí)行概率的評估值產(chǎn)生影響。因此,在未來研究工作中,將考慮采用軟件仿真數(shù)據(jù)(或運行數(shù)據(jù))與測試數(shù)據(jù)相結(jié)合的方式優(yōu)化該模型的適應性和準確性。

猜你喜歡
軟件可靠性失效率軟件測試
PHMSA和EGIG的天然氣管道失效率對比研究
化工管理(2023年17期)2023-06-16 05:56:54
Archimedean copula刻畫的尺度比例失效率模型的極小次序統(tǒng)計量的隨機序
基于OBE的軟件測試課程教學改革探索
計算機教育(2020年5期)2020-07-24 08:53:20
深入理解失效率和返修率?
軟件可靠性工程綜合應用建模技術研究
EXCEL和VBA實現(xiàn)軟件測試記錄管理
電子制作(2018年16期)2018-09-26 03:27:18
關于軟件測試技術應用與發(fā)展趨勢研究
電子測試(2017年15期)2017-12-18 07:19:20
軟件測試工程化模型及應用研究
數(shù)控系統(tǒng)軟件可靠性設計與故障分析技術
固體電解質(zhì)鉭電容器失效率鑒定
上海航天(2014年1期)2014-12-31 11:57:26
凉城县| 临海市| 镇远县| 九龙城区| 侯马市| 高邑县| 连州市| 建宁县| 波密县| 常州市| 双峰县| 金阳县| 保定市| 霍林郭勒市| 靖远县| 临泉县| 慈利县| 宁强县| 重庆市| 溆浦县| 永顺县| 封开县| 自治县| 金阳县| 长宁区| 亳州市| 大宁县| 盐边县| 荆门市| 秀山| 即墨市| 和顺县| 屏东县| 阳春市| 靖安县| 岗巴县| 石楼县| 万荣县| 栾城县| 商南县| 瑞丽市|