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

?

基于功能路徑的軟件可靠性評(píng)估方法

2015-04-17 02:46邵明正齊劍鋒
關(guān)鍵詞:軟件可靠性可靠性軟件

邵明正,齊劍鋒,韓 震

SHAO Mingzheng1,QI Jianfeng1,HAN Zhen2

1.軍械工程學(xué)院 信息工程系,石家莊050003

2.軍械工程學(xué)院 裝備指揮與管理系,石家莊050003

1.Information Engineering Department,Ordnance Engineering College,Shijiazhuang 050003,China

2.Equipment Command and Management Department,Ordnance Engineering College,Shijiazhuang 050003,China

1 引言

軟件可靠性直接關(guān)系到計(jì)算機(jī)系統(tǒng)乃至更復(fù)雜的系統(tǒng)能否在給條件下完成指定任務(wù),不可靠的軟件引發(fā)的失效可能給軟件的使用者或者軟件開(kāi)發(fā)人員帶來(lái)災(zāi)難性的后果。軟件可靠性的重要性不言而喻,其相關(guān)理論也得到了快速的發(fā)展。

廣泛意義上的可靠性工程發(fā)展至今已經(jīng)有了完善的理論體系及有效的工程實(shí)踐方法,相比之下,軟件可靠性工程還處于初級(jí)階段,尚有大量的問(wèn)題需要研究。軟件可靠性的理論及方法最初源于硬件的可靠性[1-2],不可否認(rèn)這種一致性有利于軟硬結(jié)合系統(tǒng)的可靠性綜合評(píng)估,但是軟件的固有特性及其與硬件之間的本質(zhì)差別又決定了它與硬件可靠性的差別。將軟件可靠性理論完全建立在硬件的基礎(chǔ)上并不能從根本上解決軟件可靠性相關(guān)的問(wèn)題。軟件與硬件本來(lái)是同一層次的概念,其可靠性理論應(yīng)該有各自的基礎(chǔ),目前軟件可靠性大部分的評(píng)估方法并不沒(méi)有充分考慮軟件產(chǎn)品的特點(diǎn),而只是從宏觀的角度去描述,其估計(jì)方法也難以為用戶(hù)理解使用。

軟件可靠性工程是一項(xiàng)系統(tǒng)性的工程,對(duì)可靠性的分析貫穿于軟件開(kāi)發(fā)使用的各個(gè)階段[2],而用戶(hù)關(guān)心的主要是產(chǎn)品運(yùn)行階段的可靠性,此階段的可靠性不呈現(xiàn)出增長(zhǎng)特性。本文基于這樣的思考,首先分析了軟件與硬件可靠性的區(qū)別,指出了軟件失效與硬件故障本質(zhì)上的一致性;然后從用戶(hù)的角度出發(fā),提出了一種基于軟件功能路徑的可靠性評(píng)估方法,并分析了時(shí)間因素在軟件可靠性中的影響;最后給出了這種評(píng)估方法的工程應(yīng)用步驟。

2 軟件可靠性與硬件可靠性

可靠性的概念經(jīng)過(guò)了很長(zhǎng)時(shí)間的爭(zhēng)論,雖然現(xiàn)在沒(méi)有一個(gè)普適的定義,但是以下的定義方式,卻是為大多數(shù)人認(rèn)可的:產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi),完成規(guī)定功能的能力[3-4]。最初的可靠性理論是以硬件為研究對(duì)象的,顯然軟件可靠性的定義繼承了硬件可靠性的理論體系,但是二者還是有著本質(zhì)的區(qū)別的。

2.1 軟件與硬件可靠性的區(qū)別與聯(lián)系

2.1.1 軟硬件可靠性之間的區(qū)別

由于軟件與硬件在固有屬性上的不同,二者之間的可靠性有本質(zhì)的區(qū)別,具體的表現(xiàn)形式有很多,但原則性的差別歸納起來(lái)主要有四個(gè)方面,見(jiàn)表1。

從二者的區(qū)別可以看出硬件可靠性是對(duì)時(shí)間敏感的特性,但是在軟件可靠性上過(guò)分強(qiáng)調(diào)時(shí)間因素的作用是不符合軟件特征的??紤]一個(gè)極端的例子:軟件操作界面只有一個(gè)按鈕,點(diǎn)擊這個(gè)按鈕不會(huì)引起軟件故障,且各次單擊之間沒(méi)有任何聯(lián)系,那么可以預(yù)見(jiàn)無(wú)論點(diǎn)擊這個(gè)按鈕多長(zhǎng)時(shí)間,軟件的可靠性也不會(huì)發(fā)生變化,始終為1,但是如果是一個(gè)鍵盤(pán)上的物理按鍵,那么該按鍵的可靠性就與時(shí)間有很大關(guān)系了。

2.1.2 軟硬件故障產(chǎn)生的一致性

產(chǎn)品的故障如果不進(jìn)行處理,就會(huì)影響其功能的實(shí)現(xiàn),也就是產(chǎn)品發(fā)生失效[3]。為了簡(jiǎn)化討論,本文主要使用“故障”一詞進(jìn)行論述,暫不考慮故障出現(xiàn)后的處理。盡管軟件和硬件在失效的根源上是不同的,但是它們發(fā)生故障的本質(zhì)卻是一致的,即運(yùn)行狀態(tài)觸發(fā)了產(chǎn)品存在的缺陷,其關(guān)系如圖1 所示。這里的缺陷可能是設(shè)計(jì)時(shí)的錯(cuò)誤,也可能是在使用過(guò)程中產(chǎn)生的缺陷。而運(yùn)行狀態(tài)可能與時(shí)間有關(guān),也可能是無(wú)關(guān)的。仍然以上述的例子加以說(shuō)明:假如單擊按鈕的次數(shù)會(huì)被記錄下來(lái),如果次數(shù)超過(guò)1 000 次就會(huì)產(chǎn)生數(shù)組下標(biāo)越界的錯(cuò)誤。在這里,軟件就存在一個(gè)數(shù)組下標(biāo)越界的軟件缺陷,而單擊第1 000 次時(shí)的運(yùn)行狀態(tài)就會(huì)觸發(fā)這個(gè)缺陷,產(chǎn)生故障。對(duì)于硬件按鈕來(lái)說(shuō),也許按鈕本身沒(méi)有設(shè)計(jì)缺陷,但是隨著時(shí)間的流逝,按鍵彈片發(fā)生了銹蝕,這是在使用過(guò)程中產(chǎn)生的缺陷,達(dá)到它的強(qiáng)度壽命再按下這個(gè)按鈕,就會(huì)引起產(chǎn)品故障。

圖1 產(chǎn)品故障產(chǎn)生的一致性

就軟件而言,運(yùn)行狀態(tài)觸發(fā)缺陷的直接原因是由軟件的操作所引起的[5],而硬件運(yùn)行狀態(tài)的變化除了使用操作,還包括時(shí)間對(duì)硬件性能造成的影響。圖2 表示了軟件故障產(chǎn)生的根本過(guò)程,將軟件看成是從輸入空間到輸出空間的一種轉(zhuǎn)變過(guò)程。對(duì)軟件的操作就是通過(guò)不同的輸入數(shù)據(jù)來(lái)改變軟件的運(yùn)行狀態(tài),以期實(shí)現(xiàn)正常的功能,而有些輸入可能會(huì)激活隱藏在軟件中的缺陷,從而產(chǎn)生故障。

圖2 軟件故障產(chǎn)生的過(guò)程

2.2 軟件可靠性評(píng)估方法分析

對(duì)軟件可靠性的評(píng)估一般是根據(jù)軟件可靠性數(shù)據(jù)以統(tǒng)計(jì)方法給出軟件可靠性的估計(jì)值或預(yù)測(cè)值[6]。目前已經(jīng)開(kāi)發(fā)出近百種方法用于可靠性的評(píng)估,而且新的方法還在不斷發(fā)表[7-11,16]。根據(jù)數(shù)據(jù)對(duì)象的不同,評(píng)估方法可以分為動(dòng)態(tài)分析方法與靜態(tài)分析方法。動(dòng)態(tài)分析方法在時(shí)間因素的基礎(chǔ)上分析軟件失效的時(shí)間與失效的次數(shù)。靜態(tài)分析方法不考慮軟件運(yùn)行的時(shí)間因素,這類(lèi)方法可以進(jìn)一步分為缺陷播種、基于數(shù)據(jù)域和基于經(jīng)驗(yàn)的方法[5]。表2 列出了幾種典型的軟件可靠性評(píng)估方法,表中“√”表示隸屬關(guān)系。

表1 軟件與硬件可靠性的主要區(qū)別

表2 典型軟件可靠性評(píng)估方法

目前的軟件評(píng)估方法與軟件實(shí)際存在較大差異,由于各種評(píng)估方法都有一定的假設(shè)前提,比如假設(shè)故障排除是完全獨(dú)立的,并不會(huì)引起新故障的產(chǎn)生[12],這就限制了評(píng)估方法的使用范圍和有效性。不同的軟件類(lèi)型、同一軟件不同的開(kāi)發(fā)階段往往需要采用不同的評(píng)估方法,到目前為止,并沒(méi)有一種普適的軟件可靠性評(píng)估方法[2]。由于軟件本身的特性以及獲取有效的可靠性評(píng)估數(shù)據(jù)方面的困難,實(shí)現(xiàn)完全反映軟件可靠性的方法非常困難。通過(guò)2.1 與2.2 節(jié)的分析可知,軟件可靠性從本質(zhì)上體現(xiàn)的是一種靜態(tài)特性,軟件本身并不會(huì)隨時(shí)間而變化,所以本文認(rèn)為分析其可靠性應(yīng)當(dāng)從軟件自身的屬性出發(fā),研究其在不同觸發(fā)條件下的運(yùn)行結(jié)果,進(jìn)而結(jié)合統(tǒng)計(jì)特征計(jì)算軟件的可靠性。

3 基于功能路徑的可靠性評(píng)估方法

通過(guò)上述的分析可知,產(chǎn)品故障的本質(zhì)是運(yùn)行狀態(tài)觸發(fā)產(chǎn)品中的缺陷,而軟件故障產(chǎn)生的本質(zhì)與其是一致的,為了更為清楚地描述軟件的故障本質(zhì)與其可靠性,從面向用戶(hù)使用的角度出發(fā),提出一種便于用戶(hù)理解和使用的軟件可靠性的概念。

3.1 基本概念

定義1(運(yùn)行狀態(tài))軟件在運(yùn)行過(guò)程中,所占有的資源處于不同狀態(tài),稱(chēng)為軟件不同的運(yùn)行狀態(tài)。其中資源可以是內(nèi)存、硬盤(pán)、外設(shè)等計(jì)算機(jī)資源。

定義2(操作)使軟件的運(yùn)行狀態(tài)發(fā)生改變的輸入,并且對(duì)它的處理與其他操作有顯著的不同。操作的發(fā)起者可以是用戶(hù)、系統(tǒng)本身或外部系統(tǒng)。

定義3(路徑)完成某個(gè)功能的一系列操作。

對(duì)于操作的概念,處理上明顯的不同是指操作作為一個(gè)實(shí)體,包含的錯(cuò)誤在其他操作中是很難出現(xiàn)的。對(duì)于一個(gè)操作可以有不同的輸入,但這些輸入只屬于一個(gè)操作。表3 說(shuō)明了功能、路徑與操作之間的關(guān)系。一個(gè)功能可能有多條路徑實(shí)現(xiàn),比如功能F2可通過(guò)R2、R3兩條路徑實(shí)現(xiàn)。而一個(gè)操作可能在不同路徑中出現(xiàn),如操作O21分別應(yīng)用在路徑R2、R3中。一個(gè)軟件在功能上是有限的,實(shí)現(xiàn)功能的路徑也是有限的,但是操作中的輸入?yún)s可能是無(wú)限的,這就導(dǎo)致了在軟件的系統(tǒng)測(cè)試中不能實(shí)現(xiàn)窮舉測(cè)試。

表3 功能、路徑、操作三者之間的關(guān)系

把軟件的運(yùn)行抽象為由節(jié)點(diǎn)和路徑組成的一個(gè)網(wǎng)絡(luò),如圖3 所示,其中節(jié)點(diǎn)代表軟件不同的運(yùn)行狀態(tài),而路徑則表示運(yùn)行狀態(tài)的轉(zhuǎn)移,即一系列操作。軟件功能的實(shí)現(xiàn)就是按照不同的路徑,達(dá)到期望的運(yùn)行狀態(tài)。軟件出現(xiàn)故障的原因是某些路徑會(huì)觸發(fā)軟件固有的缺陷,當(dāng)軟件狀態(tài)的轉(zhuǎn)移遇到了這些路徑,便會(huì)發(fā)生故障。

圖3 軟件運(yùn)行狀態(tài)轉(zhuǎn)移

3.2 評(píng)估模型

為了清楚地討論,可以從兩個(gè)方面來(lái)說(shuō)明軟件可靠性這個(gè)概念,從定性的角度來(lái)講,軟件的可靠性可以用其他定量指標(biāo)來(lái)度量,比如軟件可靠度、失效強(qiáng)度、平均故障間隔時(shí)間等[13];從定量的角度來(lái)講,可靠性本身也可以作為一個(gè)定量的指標(biāo),比如IEEE對(duì)其做出的定義[1]。本文將軟件可靠性和軟件可靠度作為不同的定量指標(biāo)來(lái)描述。

根據(jù)軟件可靠性的特點(diǎn),可以將軟件可靠度描述為軟件從輸入數(shù)據(jù)計(jì)算出正確的輸出數(shù)據(jù)的概率[14]。

由該定義導(dǎo)出它的數(shù)學(xué)描述:設(shè)非空集合D為軟件的輸入空間,D′為輸出空間。將軟件P看作D上的函數(shù),P*為功能期望函數(shù),則P,P*:D→D′。讓Pr為D上的一個(gè)給定的概率分布。當(dāng)輸入變量為xi時(shí),軟件P在概率分布Pr下相對(duì)于功能期望P*的可靠度定義為:

如果軟件的各次輸入是相互獨(dú)立的,則軟件在進(jìn)行n次輸入后的可靠度為:

實(shí)際情況要復(fù)雜得多,因?yàn)檐浖母鞔屋斎胫g不能是完全獨(dú)立的[15],它們之間可能有著各種各樣的聯(lián)系,輸入的選取也可能是按照一定的順序。而且這樣理論上的表達(dá)并不能應(yīng)用于工程實(shí)踐。因此,以此為基礎(chǔ),借助于路徑、操作的概念建立一種更易理解和使用的可靠性度量方法。

對(duì)于用戶(hù)來(lái)講,軟件在運(yùn)行上是以完成某些功能為目標(biāo)的,因此基于用戶(hù)的功能需求,通過(guò)建立路徑的概念來(lái)分析軟件的可靠性。其基本思路如下:

(3)路徑Ri是一個(gè)包含有限個(gè)元素的操作序列Oi={Oij|j=1,2,…},這些操作是根據(jù)功能需求按照一定的順序選取的,且各路徑操作的個(gè)數(shù)不相等。

(4)由于軟件S 本身存在缺陷,某些操作Oe的執(zhí)行會(huì)觸發(fā)這些缺陷,路徑不能完成,影響了軟件功能的實(shí)現(xiàn),即產(chǎn)生軟件故障。這些不能完成的路徑稱(chēng)為故障路徑。

一條路徑Ri的完成或產(chǎn)生執(zhí)行故障的過(guò)程,稱(chēng)為軟件S 的一次運(yùn)行。在實(shí)際工作中,用戶(hù)往往不會(huì)均勻地選擇路徑,而是有的路徑被選擇的概率大,有的路徑被選擇的概率小。這種特定的需求用概率分布pi來(lái)描述:pi是路徑Ri從集合R中被選中的概率。路徑Ri執(zhí)行的結(jié)果取決于其中操作的結(jié)果,更深刻地,操作的結(jié)果由操作所涉及的輸入決定,由于輸入的不確定性,操作是否產(chǎn)生故障是隨機(jī)性的,所以路徑是否是故障路徑也是有概率的。為了計(jì)算軟件運(yùn)行的故障率,定義路徑故障概率yi,它表示路徑出現(xiàn)故障的可能性。

軟件運(yùn)行一次出現(xiàn)故障的概率p等于所選路徑出現(xiàn)故障的概率,即

式中,Rel1表示軟件依概率分布pi從R 中選擇一條路徑正確運(yùn)行的概率,即為運(yùn)行一次的軟件可靠性,也就是軟件可靠度。那么,軟件連續(xù)運(yùn)行s次的可靠性為:

接下來(lái)考慮,路徑故障概率yi的確定。一條路徑是一個(gè)工作序列,路徑中只要有一個(gè)操作出現(xiàn)問(wèn)題,則整條路徑就是故障的路徑。如果路徑Ri中包含k個(gè)操作,操作出現(xiàn)故障的概率用Bij來(lái)表示,則路徑能成功運(yùn)行的前提是所有的操作不出現(xiàn)故障,路徑故障概率yi可寫(xiě)成如下表達(dá)式:

于是,軟件可靠度為:

3.3 時(shí)間因素影響分析

時(shí)間對(duì)于硬件的影響不僅體現(xiàn)在對(duì)硬件的操作上,更重要的是它影響了硬件本身的理化性能。而時(shí)間對(duì)軟件的影響僅僅體現(xiàn)在操作上,對(duì)已經(jīng)發(fā)布的軟件系統(tǒng)本身沒(méi)有影響。

3.3.1 可靠性影響因素分析

軟件可靠度是軟件正確運(yùn)行一次的概率,從公式(7)中可知,影響軟件可靠度的有:路徑選擇的概率分布pi、操作結(jié)果Bij、路徑數(shù)目n及操作數(shù)目k。這些因素都是軟件本身所固有屬性,并不隨時(shí)間而產(chǎn)生變化。

而軟件可靠性在一段時(shí)間內(nèi)表現(xiàn)出的是一種累積結(jié)果,它是軟件按照功能要求在若干次運(yùn)行內(nèi)一直保持正確運(yùn)行的概率。從公式(5)和公式(6)中可以看出,影響軟件可靠性的主要因素有四個(gè):路徑選擇的概率分布pi、操作結(jié)果Bij、路徑數(shù)目n及軟件運(yùn)行次數(shù)s。其中,Bij和n是由軟件本身所確定的,而pi和s則是由用戶(hù)使用所決定。同樣,時(shí)間因素對(duì)于軟件可靠性并無(wú)直接的影響,但是它與運(yùn)行次數(shù)s有一定的關(guān)系。

3.3.2 軟件可靠性與時(shí)間的關(guān)系

軟件可靠性中的時(shí)間更具體的分為執(zhí)行時(shí)間和日歷時(shí)間,日歷時(shí)間更容易為普通用戶(hù)所理解[3],因此以日歷時(shí)間作為研究對(duì)象,設(shè)Δt表示軟件運(yùn)行一次的平均時(shí)間,那么軟件運(yùn)行s次的總時(shí)間t=sΔt。則,

圖4 顯示了軟硬件可靠性、可靠度與時(shí)間的關(guān)系。圖4(a)(c)說(shuō)明軟件與硬件在一段時(shí)間內(nèi)連續(xù)無(wú)故障運(yùn)行的概率都是隨時(shí)間而降低,這是概率累積的結(jié)果。但是在可靠度方面,軟硬件分別表現(xiàn)出了不同的特點(diǎn)。圖4(b)圖表示軟件可靠度不隨時(shí)間而變化,在任意時(shí)刻,軟件獨(dú)立運(yùn)行出現(xiàn)故障的可能性從統(tǒng)計(jì)上來(lái)講都是一樣的。而硬件在其壽命的不同階段性能會(huì)發(fā)生變化,呈現(xiàn)出不同的可靠度。比如硬件在磨合期與正常運(yùn)行期出現(xiàn)故障的概率是不同的。

圖4 軟硬件可靠性與時(shí)間的關(guān)系

軟件在使用期間,更能為用戶(hù)所理解的時(shí)間概念是使命時(shí)間[16-17],也就是在特定的時(shí)間內(nèi)完成特定的任務(wù),后一階段的任務(wù)是前一階段的重復(fù),比如飛機(jī)導(dǎo)航控制軟件,它的任務(wù)隨著飛機(jī)的每次飛行而呈現(xiàn)階段性的重復(fù),每次飛行時(shí)間就可以看作是軟件的使命時(shí)間。在軟件的整個(gè)生命周期內(nèi),不考慮軟件的升級(jí)維護(hù),軟件的可靠性會(huì)隨著使命時(shí)間呈現(xiàn)出周期性的變化,如圖5所示。

圖5 軟件使用周期內(nèi)的可靠性變化規(guī)律

4 軟件可靠度測(cè)試

確定軟件可靠度,需要對(duì)軟件進(jìn)行可靠性測(cè)試,以獲得相應(yīng)的失效數(shù)據(jù),按照一定的評(píng)估模型通過(guò)概率統(tǒng)計(jì)的方法估計(jì)出軟件可靠度。測(cè)試策略分為代表性隨機(jī)測(cè)試和非代表性隨機(jī)測(cè)試兩種[13],本文所提出的模型適用代表性隨機(jī)測(cè)試的策略。

4.1 軟件可靠度的測(cè)試流程

在實(shí)際應(yīng)用中,基于功能路徑的可靠度評(píng)估方法可以按照:功能→路徑→操作→輸入的順序來(lái)分析軟件可靠度。由公式(7)知,驗(yàn)證軟件可靠度需要如下的數(shù)據(jù):路徑選擇的概率分布pi、操作結(jié)果Bij、路徑數(shù)目n及操作數(shù)目k。路徑選擇的概率分布pi可以根據(jù)功能區(qū)分來(lái)確定;操作結(jié)果Bij則需要分析操作的輸入空間,通過(guò)測(cè)試來(lái)估計(jì);路徑數(shù)目n及操作數(shù)目k可以根據(jù)軟件的具體構(gòu)成得知。測(cè)試流程如圖6。

圖6 基于功能路徑的軟件可靠度測(cè)試流程圖

根據(jù)軟件實(shí)際情況確定每條路徑對(duì)應(yīng)的操作序列,根據(jù)各操作的輸入空間,制定覆蓋全面的測(cè)試用例。執(zhí)行測(cè)試之后,利用統(tǒng)計(jì)出的失效數(shù)據(jù),由公式(7)計(jì)算出軟件整體的可靠度。

4.2 確定操作故障率

路徑選擇的概率分布pi、路徑數(shù)目n及操作數(shù)目k可由開(kāi)發(fā)、測(cè)試人員通過(guò)分析軟件功能和開(kāi)發(fā)文檔得到,所以如何確定每個(gè)操作的故障率Bij是重點(diǎn)。由于操作涉及的輸入數(shù)量巨大,甚至是無(wú)窮的,所以確定操作的故障率需要采用統(tǒng)計(jì)分析的方法進(jìn)行估計(jì)。

確定某一操作的故障率的步驟:

第一步:假設(shè)該操作的輸入數(shù)量總數(shù)為N個(gè),根據(jù)操作輸入空間的大小,依等價(jià)類(lèi)劃分策略從輸入空間中選取n個(gè)輸入。

第二步:針對(duì)每一輸入設(shè)計(jì)相應(yīng)的測(cè)試用例。

第三步:根據(jù)測(cè)試用例將軟件進(jìn)行n次操作,則必定會(huì)出現(xiàn)有的輸入產(chǎn)生正確的輸出,有的輸入導(dǎo)致運(yùn)行故障,每次出現(xiàn)故障時(shí)都不排錯(cuò),只收集故障數(shù)據(jù)。

4.3 實(shí)例驗(yàn)證

以某系統(tǒng)指控軟件的文電子模塊為實(shí)驗(yàn)對(duì)象,該模塊設(shè)計(jì)可實(shí)現(xiàn)27 項(xiàng)子功能,依據(jù)不同的操作方法,功能實(shí)現(xiàn)路徑有49 條,每條路徑由不同數(shù)量的操作組成。按照4.2 節(jié)所述方法,為每一操作制定測(cè)試用例[18],測(cè)試并記錄運(yùn)行結(jié)果。部分功能路徑測(cè)試結(jié)果如表4 所示。

依公式(7)及表3 的數(shù)據(jù),可計(jì)算出軟件可靠度Rel1=0.990 4,為了驗(yàn)證擴(kuò)展模型的性能,將數(shù)據(jù)進(jìn)行轉(zhuǎn)化并結(jié)合所記錄時(shí)間因素,利用著名的時(shí)間域模型J-M 模型求得該子模塊的缺陷個(gè)數(shù)為41 個(gè),可靠性Rel=0.932 5。由于本方法對(duì)時(shí)間因素理解上的不同,使得測(cè)試結(jié)果與傳統(tǒng)方法有一定出入。從計(jì)算過(guò)程可以看出,本方法能較為直觀地得到軟件可靠度,對(duì)于衡量軟件本身的可靠程度有一定的參考價(jià)值。

表4 部分測(cè)試結(jié)果

5 結(jié)論

軟硬件固有屬性上的差別決定了它們可靠性理論的不同,本文提出的基于功能路徑的可靠性評(píng)估方法,從軟件故障產(chǎn)生的根源出發(fā),利用路徑、操作和輸入的概念闡述了軟件可靠性度量方法,該方法具有良好的理論基礎(chǔ),面向用戶(hù)操作,層次清晰、便于使用,適用于軟件使用階段的可靠性驗(yàn)證。另外,本方法要求測(cè)試人員對(duì)于軟件的功能路徑要有清晰的把握,了解用戶(hù)的使用習(xí)慣,如何合理地確定路徑選擇的概率是下一步研究的重點(diǎn)。

[1] 尚珊珊,趙軼群.軟件可靠性綜述[J].軟件導(dǎo)刊,2006,2(8):3-5.

[2] 孫志安,裴曉黎.軟件可靠性工程[M].北京:北京航空航天大學(xué)出版社,2009.

[3] Musa J D.軟件可靠性工程[M].韓柯,譯.北京:機(jī)械工業(yè)出版社,2003.

[4] 陸文,徐鋒,呂建.一種開(kāi)放環(huán)境下的軟件可靠性評(píng)估方法[J].計(jì)算機(jī)學(xué)報(bào),2010,33(3):352-361.

[5] Munson J C.Software faults,software failures and software reliability modeling[J].Information and Software Technology,1996,38:687-699.

[6] 孫志華.面向多用戶(hù)軟件可靠性評(píng)估和測(cè)試方案研究[J].計(jì)算機(jī)工程與科學(xué),2004,26(1):70-72.

[7] Wang W L,Pan D,Chen M H.Architecture-based software reliability modeling[J].The Journal of Systems and Software,2006,79:132-146.

[8] Crespo A N,Jino M.A binomial software reliability model based on coverage of structural testing criteria[J].Empire Software Eng,2008,13:185-209.

[9] 樓俊鋼,江建慧,靳昂.考慮軟件不同失效過(guò)程偏差的軟件可靠性模型[J].計(jì)算機(jī)學(xué)報(bào),2010,33(7):1263-1270.

[10] 樊林波,吳智,趙明.基于構(gòu)件的軟件可靠性分析[J].計(jì)算機(jī)科學(xué),2007,34(5):266-268.

[11] 李海峰,王栓奇,劉暢,等.考慮測(cè)試工作量與覆蓋率的軟件可靠性模型[J].軟件學(xué)報(bào),2013,24(43):749-760.

[12] Ferneda E,Cornelio N N,F(xiàn)ilho A H.Prediction of software quality based on variables from the development process[J].Lecture Notes in Computer Science,2013,7828(1):78-87.

[13] Jung H,Hong S.The quality control of software reliability based on functionally reliability and usability[J].Lecture Notes in Computer Science,2012,7709(1):119-126.

[14] Palviainen M,Evesti A,Ovaska E.The reliability estimation,prediction and measuring of component-based software[J].Journal of Systems and Software,2011,84(6):112-129.

[15] 朱鴻.軟件可靠性估計(jì)與計(jì)算復(fù)雜性的關(guān)系淺析[J].軟件學(xué)報(bào),1998,9(9):713-717.

[16] 韓峰巖,覃征,王昕.一種考慮數(shù)據(jù)截尾的非參數(shù)軟件可靠性模型[J].西安交通大學(xué),2006,40(6):667-671.

[17] Huang C Y,Lin C T.Software reliability analysis by considering fault dependency and debugging time lag[J].IEEE Trans on Reliability,2006,55(3):436-450.

[18] 張旭.基于使用剖面的軟件可靠性測(cè)試用例生成方法[J].計(jì)算機(jī)仿真,2009,26(12):66-69.

猜你喜歡
軟件可靠性可靠性軟件
禪宗軟件
可靠性管理體系創(chuàng)建與實(shí)踐
軟件對(duì)對(duì)碰
軟件可靠性工程綜合應(yīng)用建模技術(shù)研究
電子制作(2017年2期)2017-05-17
數(shù)控系統(tǒng)軟件可靠性設(shè)計(jì)與故障分析技術(shù)
基于可靠性跟蹤的薄弱環(huán)節(jié)辨識(shí)方法在省級(jí)電網(wǎng)可靠性改善中的應(yīng)用研究
可靠性比一次采購(gòu)成本更重要
談軟件的破解與保護(hù)
簡(jiǎn)談使用BoundsChecker進(jìn)行計(jì)算機(jī)聯(lián)鎖系統(tǒng)人機(jī)界面軟件可靠性測(cè)試
大石桥市| 台湾省| 措勤县| 左权县| 平塘县| 乌兰察布市| 和硕县| 资兴市| 广河县| 仪征市| 茌平县| 正安县| 太保市| 翼城县| 苏尼特右旗| 确山县| 来凤县| 贵港市| 黄平县| 武宣县| 苍山县| 乐平市| 丰县| 荔波县| 高密市| 容城县| 陕西省| 平阳县| 白银市| 石台县| 贺兰县| 唐河县| 区。| 静乐县| 沂南县| 广安市| 西和县| 枣强县| 台湾省| 长白| 桂阳县|