• 
    

    
    

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

      ?

      高可靠軟件的可靠性評(píng)估技術(shù)綜述

      2018-01-06 00:56張威
      電腦知識(shí)與技術(shù) 2017年35期
      關(guān)鍵詞:故障注入

      張威

      摘要:高可靠性軟件的可靠性評(píng)估一直都是可靠性評(píng)估領(lǐng)域的一個(gè)難題,該文介紹了三種嘗試解決該問題的方法。其中,極值統(tǒng)計(jì)模型強(qiáng)調(diào)失效數(shù)據(jù)母體分布的尾部信息以獲取更好的評(píng)估準(zhǔn)確度;基于BootStrap重抽樣技術(shù)的軟件可靠性模型可以對(duì)原失效數(shù)據(jù)樣本進(jìn)行重新抽樣,然后對(duì)新失效數(shù)據(jù)集再進(jìn)行可靠性分析;基于故障注入技術(shù)和加速壽命試驗(yàn)原理的軟件可靠性評(píng)估模型使用故障注入技術(shù)對(duì)軟件的運(yùn)行環(huán)境進(jìn)行劣化,可以有效加快軟件可靠性測(cè)試的過(guò)程。

      關(guān)鍵詞:高可靠軟件;可靠性評(píng)估;故障注入;加速壽命試驗(yàn)

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)35-0100-02

      隨著計(jì)算機(jī)使用的普及,越來(lái)越多的人類生產(chǎn)生活活動(dòng)都已經(jīng)離不開計(jì)算機(jī)軟件的輔助。在一些安全性要求比較高的行業(yè)如核電行業(yè)中,其反應(yīng)堆控制系統(tǒng)或其相關(guān)軟件一旦失效,將會(huì)造成令人無(wú)法接受的災(zāi)難性后果。對(duì)于此類安全關(guān)鍵軟件,需要對(duì)其進(jìn)行軟件可靠性測(cè)試,測(cè)試其可靠性水平如失效率是否達(dá)到可以上線運(yùn)行的標(biāo)準(zhǔn)。

      1 概述

      軟件可靠性測(cè)試與軟件測(cè)試關(guān)注的重點(diǎn)有很大不同。軟件測(cè)試傾向于快速有效地發(fā)現(xiàn)軟件中存在的缺陷并進(jìn)行修復(fù);軟件可靠性測(cè)試更傾向于在軟件的真實(shí)使用情況下評(píng)估軟件當(dāng)前所達(dá)到的可靠性水平,發(fā)現(xiàn)缺陷并進(jìn)行軟件可靠性增長(zhǎng),直至軟件的可靠性水平達(dá)到所要求的目標(biāo)水平,再將軟件投入使用。軟件可靠性測(cè)試多應(yīng)用于對(duì)可靠性有較高要求的安全關(guān)鍵軟件,在如核電、航空、航天和鐵道等領(lǐng)域應(yīng)用較多。

      2 軟件可靠性度量指標(biāo)

      軟件可靠性度量中最受關(guān)注的指標(biāo)有三個(gè):軟件可靠度、軟件失效強(qiáng)度和軟件的平均失效前時(shí)間。

      1) 軟件可靠度

      軟件可靠度指的是系統(tǒng)在規(guī)定的工作條件下和規(guī)定的時(shí)間t內(nèi)持續(xù)完成規(guī)定功能的概率(記作R(t))。

      若隨機(jī)變量t表示發(fā)生失效的時(shí)刻,函數(shù)f(t)為隨機(jī)變量t的概率密度函數(shù),F(xiàn)(t)為其分布函數(shù);P(0≦t≦T)表示從初始時(shí)刻到T時(shí)刻程序發(fā)生失效的概率。所以有:

      (1)

      (2)

      2) 軟件失效強(qiáng)度

      軟件失效強(qiáng)度指的是已工作到時(shí)刻t尚未失效的系統(tǒng),在時(shí)刻t后單位時(shí)間內(nèi)發(fā)生失效的概率,記作λ(t)。

      與失效強(qiáng)度函數(shù)、失效概率密度函數(shù)、可靠度函數(shù)之間的關(guān)系為:

      (3)

      3) 平均失效前時(shí)間(Mean Time to Failure, MTTF)

      設(shè)N0個(gè)不可維修的系統(tǒng)在同樣的條件下進(jìn)行試驗(yàn),測(cè)得其全部失效時(shí)間為t1,t2,…,tN0,其MTTF為:

      (4)

      當(dāng)N0趨向于無(wú)窮時(shí),MTTF為系統(tǒng)失效時(shí)間這一隨機(jī)變量的數(shù)學(xué)期望,因此有:

      (5)

      3 一般的軟件可靠性評(píng)估方法

      現(xiàn)有的軟件可靠性評(píng)估模型有很多,它們關(guān)注的重點(diǎn)有所不同,按進(jìn)行軟件可靠性評(píng)估或預(yù)測(cè)的階段不同,可以分為面向軟件開發(fā)生命周期過(guò)程的軟件可靠性預(yù)測(cè)模型與測(cè)試階段或運(yùn)行階段的軟件可靠性評(píng)估模型。

      3.1 面向軟件開發(fā)生命周期過(guò)程的軟件可靠性模型

      面向軟件開發(fā)生命周期過(guò)程的軟件可靠性模型可以在軟件開發(fā)的早期階段對(duì)軟件將來(lái)所能達(dá)到的可靠性水平進(jìn)行預(yù)測(cè),此類模型的依據(jù)大多為相似軟件歷史數(shù)據(jù)的歸納分析。

      Rome試驗(yàn)室提出的Rome模型[1]可以在軟件開發(fā)的需求分析階段、設(shè)計(jì)階段和編碼階段分別對(duì)軟件缺陷密度進(jìn)行早期預(yù)測(cè);Keene的開發(fā)過(guò)程預(yù)計(jì)模型[2]可以根據(jù)軟件開發(fā)組織和維護(hù)組織的能力成熟度模型(Capability Maturity Model for Software, 簡(jiǎn)稱CMM)等級(jí)以及軟件的源代碼規(guī)模對(duì)軟件的可靠性進(jìn)行預(yù)測(cè);雷利模型[2]可以在確定軟件開發(fā)生命周期階段總數(shù)并獲取其中任意至少兩個(gè)階段中發(fā)現(xiàn)的缺陷數(shù)量后,對(duì)其他階段的缺陷數(shù)進(jìn)行預(yù)測(cè),并可以在軟件開發(fā)早期對(duì)軟件的可靠性水平進(jìn)行預(yù)測(cè)。

      3.2 測(cè)試階段或運(yùn)行階段的軟件可靠性評(píng)估模型

      測(cè)試階段或運(yùn)行階段的軟件可靠性評(píng)估模型較為成熟,模型的分類方式有很多。參照IEEE Std.1663標(biāo)準(zhǔn)[3]可以將軟件可靠性評(píng)估模型分為3類:呈指數(shù)分布的非齊次泊松過(guò)程(Non-Homogeneous Poisson Process, NHHP)模型、非指數(shù)分布的NHPP模型和貝葉斯(Bayesian)模型。

      1) 呈指數(shù)分布的NHPP模型

      呈指數(shù)分布的NHPP模型一般認(rèn)為累積缺陷數(shù)量是一個(gè)獨(dú)立增量過(guò)程,可以用指數(shù)分布來(lái)描述缺陷的增長(zhǎng)過(guò)程,代表模型有:Jelinski-Moranda模型、Schneidewind模型、通用指數(shù)模型、Shooman模型和Musa模型。

      2) 非指數(shù)分布的NHPP模型

      非指數(shù)分布的NHPP模型一般認(rèn)為累積缺陷數(shù)量是一個(gè)獨(dú)立增量過(guò)程,服從Poisson分布,使用非指數(shù)分布來(lái)描述缺陷的增長(zhǎng)過(guò)程,相對(duì)于之后的缺陷排除,早期的缺陷排除對(duì)失效強(qiáng)度有更大的影響。代表模型有:Musa&Okumoto對(duì)數(shù)泊松執(zhí)行時(shí)間模型、Duane模型、Yamada的S型模型和Brooks&Motley的二項(xiàng)式和泊松模型。

      3) 貝葉斯模型

      貝葉斯方法認(rèn)為可以根據(jù)歷史數(shù)據(jù)或?qū)<医?jīng)驗(yàn)對(duì)模型中的參數(shù)有一些先驗(yàn)性的認(rèn)識(shí),通過(guò)先驗(yàn)分布來(lái)描述先驗(yàn)知識(shí)與模型參數(shù)之間的關(guān)系,從而獲得更為準(zhǔn)確的評(píng)估結(jié)果,代表模型為L(zhǎng)ittlewood-Verrall模型(L-V模型)。

      4 高可靠軟件的可靠性評(píng)估方法

      高可靠軟件的可靠性評(píng)估目前存在的問題是,由于軟件可能已經(jīng)經(jīng)過(guò)了嚴(yán)密的軟件測(cè)試或是已經(jīng)進(jìn)行了容錯(cuò)設(shè)計(jì),擁有較高的可靠性水平,要計(jì)算其可靠性需要在用戶真實(shí)使用剖面下進(jìn)行運(yùn)行測(cè)試并收集失效數(shù)據(jù),此時(shí)通常很難收集到充足的失效數(shù)據(jù)或只能獲取少量的小樣本失效數(shù)據(jù)。由于上述原因,傳統(tǒng)的基于經(jīng)典概率統(tǒng)計(jì)的軟件可靠性模型很難得到準(zhǔn)確的評(píng)估結(jié)果。

      為解決上述問題,主要有兩種思路,一種是如何在小樣本失效數(shù)據(jù)情況下進(jìn)行更加準(zhǔn)確的可靠性評(píng)估,另一種是如何獲取更多失效數(shù)據(jù)或擴(kuò)充已有失效數(shù)據(jù),然后再使用經(jīng)典的軟件可靠性模型進(jìn)行評(píng)估。

      第一種思路相關(guān)的模型有極值統(tǒng)計(jì)模型[4],第二種思路相關(guān)的模型有基于BootStrap重抽樣技術(shù)的軟件可靠性模型[5]和基于故障注入技術(shù)和加速壽命試驗(yàn)原理的軟件可靠性評(píng)估模型[6]。

      4.1 極值統(tǒng)計(jì)模型

      假定軟件失效時(shí)間服從母體分布F(x),X是收集的失效數(shù)據(jù)。對(duì)高可靠軟件而言,X很可能是位于母體分布F(x)的尾部,而不是母體分布的中心;傳統(tǒng)的軟件可靠性模型提供與母體分布中心有關(guān)的信息,它預(yù)先假定失效數(shù)據(jù)服從某一個(gè)先驗(yàn)分布(例如G-O模型假定失效數(shù)據(jù)服從指數(shù)分布),如果選擇了一個(gè)錯(cuò)誤的分布,則預(yù)測(cè)的結(jié)果會(huì)有較大誤差。極值模型更加關(guān)注母體分布的尾部信息,因此對(duì)于高可靠性軟件來(lái)說(shuō)可以取得更加準(zhǔn)確的可靠性評(píng)估結(jié)果。

      4.2 基于BootStrap重抽樣技術(shù)的軟件可靠性模型

      BootStrap重抽樣方法可以對(duì)原始的失效數(shù)據(jù)集進(jìn)行N次有放回的重抽樣從而產(chǎn)生多個(gè)新的失效數(shù)據(jù)集,在這些新的失效數(shù)據(jù)集上使用經(jīng)典的軟件可靠性模型分別進(jìn)行模型參數(shù)估計(jì),然后對(duì)這些參數(shù)的估計(jì)值取平均來(lái)作為最終結(jié)果,進(jìn)而獲取軟件的可靠性度量值。實(shí)驗(yàn)證明,此方法在小樣本失效數(shù)據(jù)的情況下很多時(shí)候可以取得更準(zhǔn)確的可靠性評(píng)估結(jié)果。

      4.3 基于故障注入技術(shù)和加速壽命試驗(yàn)原理的軟件可靠性評(píng)估模型

      基于故障注入技術(shù)和加速壽命試驗(yàn)原理的軟件可靠性評(píng)估模型的基本思路是通過(guò)故障注入技術(shù)模擬軟件運(yùn)行環(huán)境(硬件、操作系統(tǒng)和支撐軟件)的故障,劣化軟件的運(yùn)行環(huán)境從而加速被測(cè)軟件的失效過(guò)程,最終可以使軟件更快發(fā)生失效,這就可以加快軟件可靠性測(cè)試的過(guò)程,更快地獲取充足的失效時(shí)間數(shù)據(jù)來(lái)進(jìn)行軟件可靠性評(píng)估。

      5 結(jié)束語(yǔ)

      總體上高可靠性軟件的可靠性評(píng)估技術(shù)仍不完善。其中,極值統(tǒng)計(jì)模型可以在一定程度上解決小樣本可靠性評(píng)估的問題,但其理論的假設(shè)性較強(qiáng),適用范圍有限?;贐ootStrap重抽樣技術(shù)的軟件可靠性模型在一些失效數(shù)據(jù)集上的測(cè)試結(jié)果較好,但與傳統(tǒng)軟件可靠性模型的結(jié)果差距不大?;诠收献⑷爰夹g(shù)和加速壽命試驗(yàn)原理的軟件可靠性評(píng)估模型在方法論上可以有效解決高可靠軟件的評(píng)估問題,但模型方法仍不完善,還需要進(jìn)一步研究改進(jìn)。

      參考文獻(xiàn):

      [1] McCall J, Randell W, Dunham J, et al. Software reliability measurement and testing guidebook[Z]. Technical Report RL-TR-92-52, Rome Laboratory USAF, 1992.

      [2] 陸民燕. 軟件可靠性工程[M]. 北京: 國(guó)防工業(yè)出版社, 2011: 282-296.

      [3] IEEE Std 1633-2008, Recommend practice on software reliability[S].

      [4] Kaufman L M, Dugan J B, Johnson B W. Using statistics of the extremes for software reliability analysis[J]. IEEE Transactions on Reliability, 1999, 48(3):292-299.

      [5] Kaneishi T, Dohi T. Parametric bootstrapping for assessing software reliability measures[C]//Proceedings of 17th IEEE Pacific Rim International Symposium on Dependable Computing. IEEE: Pasadena, CA, 2011: 1-9.

      [6] 樓俊鋼. 小樣本情況下的軟件可靠性建模研究[D]. 上海: 同濟(jì)大學(xué), 2010.

      猜你喜歡
      故障注入
      基于軟件故障注入的系統(tǒng)驗(yàn)證測(cè)試評(píng)估技術(shù)研究
      模擬訓(xùn)練裝備故障注入系統(tǒng)研究
      嵌入式系統(tǒng)故障注入技術(shù)研究
      新能源混合動(dòng)力汽車功能安全臺(tái)架測(cè)試硬件環(huán)境一般設(shè)計(jì)
      SM4算法前四輪約減輪故障注入分析
      一種多類型總線故障注入系統(tǒng)設(shè)計(jì)*
      面向FPGA的故障注入測(cè)試技術(shù)研究*
      采用修改-回放原理的1553B故障注入方法
      某型自動(dòng)裝彈機(jī)故障注入系統(tǒng)研究
      列車MVB總線故障注入研究
      湘潭县| 日喀则市| 巴马| 马山县| 郴州市| 正安县| 武功县| 高雄县| 贺州市| 石狮市| 运城市| 宣城市| 若羌县| 兰考县| 临汾市| 富川| 黄梅县| 黑龙江省| 长子县| 肇庆市| 怀柔区| 兴仁县| 稷山县| 白河县| 广元市| 万荣县| 皋兰县| 柳河县| 合肥市| 鹤山市| 弥渡县| 陕西省| 永吉县| 长宁县| 咸阳市| 麦盖提县| 铁岭县| 新巴尔虎右旗| 阜宁县| 景德镇市| 虞城县|