




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型研究楊波,黃洪鐘,郭夙昌電子科技大學(xué)機(jī)械電子工程學(xué)院,四川成都(610054)E-mail:摘 要:傳統(tǒng)的軟件可靠性增長(zhǎng)模型通常基于一系列不符合實(shí)際情況的假設(shè),因而其適用性和準(zhǔn)確性受到了較大的影響。近年來(lái),數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性建模方法受到了廣泛的重視,一些文獻(xiàn)提出了基于人工神經(jīng)網(wǎng)絡(luò)和基于支持向量機(jī)的軟件可靠性模型。由于數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型不對(duì)軟件的內(nèi)部錯(cuò)誤及失效過(guò)程做任何假設(shè),因而其適用范圍較傳統(tǒng)的軟件可靠性增長(zhǎng)模型更廣。對(duì)于數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型,其使用的軟件失效數(shù)據(jù)對(duì)模型的預(yù)測(cè)精度有很大的影響,但現(xiàn)有的文獻(xiàn)未對(duì)此進(jìn)行研究。本文提出了一種基于支持向量機(jī)的軟件可靠
2、性模型,并指出對(duì)數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型,應(yīng)使用累計(jì)失效數(shù)據(jù)而不應(yīng)使用失效間隔數(shù)據(jù);應(yīng)使用最近的部分失效數(shù)據(jù)而不應(yīng)使用所有觀測(cè)到的失效數(shù)據(jù)。本文同時(shí)還提出了一種基于遺傳算法的模型參數(shù)優(yōu)化方法。應(yīng)用三組現(xiàn)有文獻(xiàn)中的實(shí)際軟件測(cè)試數(shù)據(jù),對(duì)所提出的軟件可靠性模型與現(xiàn)有的數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型進(jìn)行了對(duì)比研究。結(jié)果表明,本文所提出的軟件可靠性模型具有較好的預(yù)測(cè)精度。關(guān)鍵詞:軟件可靠性;失效數(shù)據(jù)分析;支持向量機(jī);人工神經(jīng)網(wǎng)絡(luò);失效預(yù)測(cè)中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào): 16737180(2007)100. 引言當(dāng)今世界計(jì)算機(jī)被廣泛地應(yīng)用于各個(gè)領(lǐng)域,包括科學(xué)計(jì)算、工業(yè)控制、電子商務(wù)、醫(yī)療
3、設(shè)備、家用電器、游戲娛樂(lè)等。隨著計(jì)算機(jī)系統(tǒng)在生產(chǎn)、生活中的高度滲透,其可靠性問(wèn)題變得日益突出。對(duì)于某些系統(tǒng),如飛行控制系統(tǒng)、醫(yī)療設(shè)備、銀行或股票交易系統(tǒng)等,可靠性更是系統(tǒng)設(shè)計(jì)時(shí)的首要考慮因素,系統(tǒng)一旦失效,將會(huì)帶來(lái)巨大的經(jīng)濟(jì)損失和人員傷亡。但是據(jù)統(tǒng)計(jì),在目前已有記錄的系統(tǒng)失效事故中,由于軟件的失效而造成的事故占絕大多數(shù)1。著名的例子如1996年歐洲航天局首次發(fā)射阿麗亞娜5號(hào)火箭失敗以及危及全球的“千年蟲(chóng)”事件等。計(jì)算機(jī)系統(tǒng)中軟件的可靠性保障已成為學(xué)術(shù)界和工業(yè)界高度關(guān)注的一個(gè)問(wèn)題,并且也是制約計(jì)算機(jī)系統(tǒng)進(jìn)一步發(fā)展的一個(gè)瓶頸。從20世紀(jì)70年代開(kāi)始,人們?cè)谲浖煽啃缘慕!⒎治觥⒃u(píng)估、預(yù)測(cè)等方面開(kāi)
4、展了大量的研究,提出了各種軟件可靠性模型 (Software Reliability Models, SRMs)14。軟件可靠性模型大體上可分為兩類5,6:解析模型 (Analytical Model) 和數(shù)據(jù)驅(qū)動(dòng)的模型 (Data-driven Model)。解析模型即為傳統(tǒng)的軟件可靠性增長(zhǎng)模型 (Software Reliability Growth Model, SRGM),包括非齊次泊松過(guò)程模型、馬爾可夫模型等。這類模型需要對(duì)軟件內(nèi)部錯(cuò)誤及失效過(guò)程的特性做出很多假設(shè),然后采用某種隨機(jī)過(guò)程對(duì)其進(jìn)行描述。例如Geol-Okumoto模型34假設(shè)軟件失效過(guò)程是一個(gè)非齊次泊松過(guò)程,并且每觀察到
5、一次軟件失效,其對(duì)應(yīng)的軟件內(nèi)部錯(cuò)誤可以被準(zhǔn)確地排除。Jelinski-Moranda模型34則假設(shè)軟件失效過(guò)程是一個(gè)馬爾可夫過(guò)程,并且每個(gè)軟件內(nèi)部錯(cuò)誤對(duì)軟件失效率的貢獻(xiàn)是相同的。各種解析模型所做的假設(shè)不盡相同,但這些假設(shè)都或多或少地與軟件失效過(guò)程的實(shí)際情況有所不符。因此,解析模型的適用性和準(zhǔn)確性受到了較大的影響;并且在實(shí)際的工程應(yīng)用中,模型的選擇是比較困難的。針對(duì)解析模型的不足,近年來(lái)數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性建模方法受到了越來(lái)越多的重視,一些專家學(xué)者業(yè)已提出了一些數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型。這類模型通常不需要1本課題得到國(guó)家自然科學(xué)基金 (60672165),教育部高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金 (
6、20060614016),高等學(xué)校全國(guó)優(yōu)秀博士學(xué)位論文作者專項(xiàng)基金 (200232)的資助。-1-對(duì)軟件的失效過(guò)程做任何假設(shè),而只是基于觀測(cè)到的軟件失效數(shù)據(jù),將其視為一個(gè)時(shí)間序列進(jìn)行建模與分析,并對(duì)軟件將來(lái)的失效行為進(jìn)行預(yù)測(cè)。由于數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型不對(duì)軟件內(nèi)部錯(cuò)誤及失效過(guò)程做任何不符合實(shí)際的假設(shè),因而其適用范圍較傳統(tǒng)的解析模型更廣,并且不存在實(shí)際應(yīng)用中的模型選擇問(wèn)題56。數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型包括基于時(shí)間序列分析的模型78x1x2xix2x3(a)xi、基于人工神經(jīng)網(wǎng)絡(luò)的模型和基于支持向量機(jī) (Support Vector Machine) 的模型等。人工神經(jīng)網(wǎng)絡(luò)具有自組織、自適應(yīng)、自
7、學(xué)習(xí)等特點(diǎn),并且能充分逼近任意復(fù)雜的非線性關(guān)系,因而在模式識(shí)別、信號(hào)處理、自動(dòng)控制、知識(shí)工程等方面得到了廣泛的應(yīng)用。在軟件可靠性建模領(lǐng)域,也有學(xué)者提出了基于人工神經(jīng)網(wǎng)絡(luò)的軟件可靠性模型5,6,913xi(b)i+1x圖1 基于人工神經(jīng)網(wǎng)絡(luò)和基于支持向量機(jī)的軟件可靠性模型的基本框架Fig.1 Framework of SVM-based and ANN-basedSRMs在運(yùn)用這類模型進(jìn)行軟件可靠性預(yù)測(cè)時(shí),分兩個(gè)步驟進(jìn)行:1) 模型訓(xùn)練。若目前共觀測(cè)到i個(gè)軟件失效數(shù)據(jù),即x1, x2, xi,則以x1,x2, xi1作為模型的輸入、以xi作為模型。但是,人工神經(jīng)網(wǎng)絡(luò)也具有一些內(nèi)在的缺點(diǎn),如數(shù)據(jù)過(guò)
8、擬合 (over-fitting) 以及學(xué)習(xí)算法的效率不高等問(wèn)題。支持向量機(jī)1416是在統(tǒng)計(jì)學(xué)習(xí)理論基礎(chǔ)上發(fā)展起來(lái)的一種新的機(jī)器學(xué)習(xí)方法。支持向量機(jī)又稱為支持向量網(wǎng)絡(luò),具有理論完備、適應(yīng)性強(qiáng)、全局優(yōu)化、訓(xùn)練時(shí)間短、泛化性能好等優(yōu)點(diǎn)。支持向量機(jī)已在數(shù)據(jù)分類、回歸估計(jì)、函數(shù)逼近等領(lǐng)域得到了成功的應(yīng)用。在軟件可靠性建模領(lǐng)域,也有學(xué)者做了有益的嘗試1718。基于人工神經(jīng)網(wǎng)絡(luò)和基于支持向量機(jī)的軟件可靠性模型的基本框架如圖1所示。的期望輸出,對(duì)模型進(jìn)行訓(xùn)練,確定模型中的參數(shù)。如圖1 (a) 所示。2) 預(yù)測(cè)。在模型的參數(shù)確定以后,以x2, x3, xi作為模型的輸入,對(duì)軟件的下如圖1 (b) 所一個(gè)失效點(diǎn)
9、xi+1的值進(jìn)行預(yù)測(cè)。示。隨著軟件測(cè)試的進(jìn)行,當(dāng)有新的軟件失效數(shù)據(jù)被記錄時(shí),需要重新構(gòu)建模型并對(duì)模型進(jìn)行訓(xùn)練,然后再對(duì)將來(lái)的軟件失效進(jìn)行預(yù)測(cè)。例如,當(dāng)記錄到第i+1個(gè)軟件失效數(shù)據(jù)時(shí),則以x1, x2, xi作為模型的輸入、以xi+1作為模型的期望輸出對(duì)模型進(jìn)行訓(xùn)練,然后用訓(xùn)練好的模型對(duì)下一個(gè)失效點(diǎn)xi+2的值進(jìn)行預(yù)測(cè)。如此反復(fù)進(jìn)行下去。可以看出,這類軟件可靠性模型不對(duì)軟件的失效過(guò)程做任何假設(shè),而是基于觀測(cè)到的軟件失效數(shù)據(jù),通過(guò)模型的訓(xùn)練將軟件失效過(guò)程的內(nèi)在規(guī)律學(xué)習(xí)到模型中17,然后模型根據(jù)該規(guī)律對(duì)下一次軟件失效做出預(yù)測(cè)。因此,基于人工神經(jīng)網(wǎng)絡(luò)和基于支持向量機(jī)的軟件可靠性模型都屬于數(shù)據(jù)驅(qū)動(dòng)的軟件
10、-2-可靠性模型。由于軟件失效過(guò)程的內(nèi)在規(guī)律是通過(guò)對(duì)失效數(shù)據(jù)的學(xué)習(xí)而固化入模型中的,因此失效數(shù)據(jù)的選擇對(duì)模型的預(yù)測(cè)精度有很大影響。軟件的失效數(shù)據(jù)可分為“累計(jì)失效數(shù)據(jù)”和“失效間隔數(shù)據(jù)”兩種。累計(jì)失效數(shù)據(jù)如軟件失效時(shí)間Ti (i=1,2,",定義T0=0)、到指定時(shí)刻為止總共觀測(cè)到的軟件失效數(shù)等;失效間隔數(shù)據(jù)如軟件失效時(shí)間間隔i (第i次和第i-1次軟件失效之間的時(shí)間間隔,i=1,2,") 等。如圖2所示。Vapnik14提出了一種回歸函數(shù),通過(guò)對(duì)一組訓(xùn)練數(shù)據(jù)的學(xué)習(xí),該函數(shù)可以反映出一個(gè)系統(tǒng)或過(guò)程的輸入量與輸出量之間的映射關(guān)系。訓(xùn)練樣本集為(xi,yi)li=1,其中xi為輸
11、入量,yi為輸出量 (期望輸出),l為樣本數(shù)。用于回歸估計(jì)的支持向量機(jī)可表示為:f(x)=(x)+b (3)該函數(shù)將輸入樣式中(x)為內(nèi)積函數(shù),本空間映射到高維線性特征空間;和b為常數(shù)。支持向量機(jī)采用結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理 (Structural Risk Minimization Principle),和b的值可以通過(guò)最小化以下的結(jié)構(gòu)風(fēng)險(xiǎn)函數(shù)得到:1C2R=+2ll圖2 軟件失效時(shí)間和軟件失效時(shí)間間隔Fig.2 Software failure times and inter-failure times|yi=1if(xi)|(4)式中,C為常數(shù),|yif(xi)|為損失函數(shù):0(|yif(xi
12、)|)|yif(xi)|=yfxyfx|()|(|()|>)iiii累計(jì)失效數(shù)據(jù)和失效間隔數(shù)據(jù)可以相互轉(zhuǎn)換:i=TiTi1 (i=1,2,") (1)Ti=j (i=1,2,") (2)j=1i式(4)的拉格朗日對(duì)偶式為:L(i,)=yi(i)(i+i*)*i*ii=1i=1ll對(duì)任何一個(gè)數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型,在使用失效數(shù)據(jù)時(shí)都需要考慮以下兩個(gè)問(wèn)題:1. 使用所有已觀測(cè)到的軟件失效數(shù)據(jù),還是只使用最近的部分失效數(shù)據(jù)?2. 使用累計(jì)失效數(shù)據(jù),還是使用失效間隔數(shù)據(jù)?現(xiàn)有文獻(xiàn)中發(fā)表的數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型,有的使用累計(jì)失效數(shù)據(jù)5,6,17,有的則使用失效間隔數(shù)據(jù)18。
13、此外,有的模型使用所有已觀測(cè)到失效數(shù)據(jù)17,有的則使用最近的部分失效數(shù)據(jù)。而對(duì)使用某種失效數(shù)據(jù)的具體原因及其對(duì)模型預(yù)測(cè)精度的影響,現(xiàn)有的文獻(xiàn)均未進(jìn)行研究。本文提出一種基于支持向量機(jī)的軟件可靠性模型,并對(duì)以上提出的模型使用失效數(shù)據(jù)的兩個(gè)問(wèn)題進(jìn)行深入的研究。1ll(5) (ii*)(j*j)K(xi,xj)2i=1j=1其約束條件為:(i=1lii*)=00i,i*C (i=1,2,",l)式(5)中K(xi,xj)為核函數(shù) (KernelFunction),通常采用多項(xiàng)式或高斯核函數(shù)。i和i*為拉格朗日乘子,它們滿足ii*=0 (i=1,2,",l)。i和i*的值可以通過(guò)式(
14、5)得到。i和i*的值被確定之后,回歸函數(shù)(3)變?yōu)椋篺(x)=(ii*)K(xi,xj)+b (6)i=1l由式(6)可知,盡管通過(guò)非線性函數(shù)將樣本數(shù)據(jù)映射到具有高維甚至為無(wú)窮維的特-3-1. 支持向量機(jī)簡(jiǎn)介征空間,但在計(jì)算時(shí)并不需要顯式地求解該非線性函數(shù),而只須要確定核函數(shù),從而避免了高維特征空間引起的維數(shù)災(zāi)難問(wèn)題。由于篇幅限制,本節(jié)只對(duì)支持向量機(jī)做了簡(jiǎn)要的介紹。讀者可參閱文獻(xiàn)1416以對(duì)支持向量機(jī)進(jìn)行更深入的了解。所提出的軟件可靠性模型中,采用高斯核函數(shù),即:(xixj)2K(xi,xj)=exp (7) 2在基于支持向量機(jī)的可靠性模型中1719有3個(gè)參數(shù)的值需要確定,即C,22. 一種
15、基于支持向量機(jī)的軟件可靠性模型本文提出了一種基于支持向量機(jī)的軟件可靠性模型,如圖3所示。對(duì)比圖1和圖3可以看出,該模型的基本框架與現(xiàn)有的數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型的基本框架是類似的,但是該模型具有以下兩個(gè)特點(diǎn):和,見(jiàn)式(4) 和 (7)。這些參數(shù)的取值對(duì)模型的預(yù)測(cè)精度有很大影響,因此需要采用優(yōu)化算法來(lái)確定它們的最優(yōu)值。文獻(xiàn)18和19分別采用模擬退火算法和遺傳算法來(lái)確定這三個(gè)參數(shù)的最優(yōu)值。在本文所提出的模型中,除了這三個(gè)參數(shù)以外,還有一個(gè)參數(shù),即w的值需要確定。我們采用如圖4所示優(yōu)化算法來(lái)確定這四個(gè)參數(shù)的最優(yōu)值。這是一個(gè)雙重循環(huán)算法,其中外循環(huán)對(duì)w所有可能的取值進(jìn)行遍歷;而內(nèi)循環(huán)用遺傳算法來(lái)確定在
16、w取某個(gè)值時(shí)的最優(yōu)C,2和值;該遺傳算法與文獻(xiàn)19中的算法是相同的。最后,我們選擇具有最小訓(xùn)練平方誤差的w值及其對(duì)應(yīng)的最優(yōu)C,1) 在模型的訓(xùn)練過(guò)程中并不采用所有記錄的軟件失效數(shù)據(jù),而是只采用最近的w+1個(gè)失效數(shù)據(jù) (w=1,2,"i1),如圖3 (a) 所示。同樣,在用訓(xùn)練后的模型進(jìn)行預(yù)測(cè)時(shí),也只用最近的w個(gè)數(shù)據(jù)作為模型的輸入,對(duì)下一個(gè)軟件失效點(diǎn)的值進(jìn)行預(yù)測(cè),如圖3 (b) 所示。可以看出,如果取w=i1,則表示使用所有的軟件失效數(shù)據(jù),即退化為圖1所示的模型。2和值作為模型的參數(shù)值。在以上的參數(shù)優(yōu)化過(guò)程中,訓(xùn)練平方誤差 (Squared Error, SE) 的定義如下:若已觀測(cè)到
17、i個(gè)軟件失效數(shù)據(jù),即x1, x2, xi,則:i)2 (8) SE=(xix2) 該模型所使用的軟件失效數(shù)據(jù)為累計(jì)失效數(shù)據(jù),而不是失效間隔數(shù)據(jù)。需要指出的是,圖4所示的算法對(duì)w值的優(yōu)化過(guò)程實(shí)際上是一個(gè)全值搜索的過(guò)程,因而算法的計(jì)算量較大。但是由于一般情況下觀測(cè)到的軟件失效數(shù)據(jù)的數(shù)目是有限的(通常為100個(gè)以內(nèi)),因此該算法在實(shí)際中還是可行的。圖3 一種基于支持向量機(jī)的軟件可靠性模型 Fig. 3 An SVM-based software reliability model一般而言,在支持向量機(jī)中采用高斯核因此在本文函數(shù)會(huì)帶來(lái)較高的預(yù)測(cè)精度19,-4-在本節(jié)中,我們將本文所提出的軟件可靠性模型
18、應(yīng)用于三組實(shí)際軟件開(kāi)發(fā)項(xiàng)目的測(cè)試數(shù)據(jù)上,并對(duì)該模型與現(xiàn)有的數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型的預(yù)測(cè)精度進(jìn)行比較研究。定義模型的預(yù)測(cè)均方誤差 (Mean Squared Error, MSE) 如下:1MSE=nij=i+1(xnjj)2x (9)MSE表示在觀測(cè)到n個(gè)失效數(shù)據(jù)時(shí),用前i個(gè)數(shù)據(jù)模型進(jìn)行訓(xùn)練,然后用訓(xùn)練好的模型對(duì)第i+1個(gè)到第n個(gè)失效數(shù)據(jù)進(jìn)行預(yù)測(cè),預(yù)測(cè)值與真實(shí)值差的均方值。該值越小,說(shuō)明模型的預(yù)測(cè)精度越高。3.1 參數(shù)w的取值我們首先研究引言中提出的第一個(gè)問(wèn)題,即在數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型中,應(yīng)該使用所有已觀測(cè)到的軟件失效數(shù)據(jù),還是只使用最近的部分失效數(shù)據(jù)?這個(gè)問(wèn)題可以歸結(jié)為參數(shù)w的最佳取值
19、。實(shí)例1. 在本實(shí)例中,我們采用文獻(xiàn)5發(fā)表的一組軟件測(cè)試數(shù)據(jù)。該數(shù)據(jù)來(lái)自于一個(gè)實(shí)際軟件開(kāi)發(fā)項(xiàng)目,包括28個(gè)星期的測(cè)試數(shù)據(jù),數(shù)據(jù)形式為到每個(gè)星期為止觀測(cè)到的累計(jì)軟件失效數(shù)。我們對(duì)三種數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型進(jìn)行研究,分別是:基于人工神經(jīng)網(wǎng)絡(luò)的軟件可靠性模型5 (稱為模型A)、基于支持向量機(jī)的軟件可靠性模型17 (稱為模型B)、本文所提出的軟件可靠性模型 (稱為模型C)。模型A和模型B均使用所有已觀測(cè)到的軟件失效數(shù)據(jù),而模型C僅使用最近的部分軟件失效數(shù)據(jù)。分別計(jì)算這三種軟件可靠性模型對(duì)第628個(gè)星期的累計(jì)軟件失效數(shù)的預(yù)測(cè)均方誤差,其結(jié)果如表1所示。可以看出,模型 C的預(yù)測(cè)均方誤差是最小的。 圖4
20、模型參數(shù)優(yōu)化算法流程圖Fig. 4 Flow chart of the optimization algorithm formodel parameters3. 實(shí)例研究-5-表1 基于文獻(xiàn)5發(fā)表的測(cè)試數(shù)據(jù)的研究 Table 1. Empirical Study Based on Software FailureData in 5模型A 模型B模型C預(yù)測(cè)均方誤差 (第628個(gè)星期)66.92 50.95 36.52據(jù)。本文所提出的軟件可靠性模型正是采用了這種方式。3.2 失效數(shù)據(jù)類型在本節(jié)中,我們研究引言中提出的第二個(gè)問(wèn)題,即在數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型中,應(yīng)該使用累計(jì)失效數(shù)據(jù),還是使用失效間隔
21、數(shù)據(jù)?我們通過(guò)以下的實(shí)例來(lái)對(duì)此進(jìn)行研究。實(shí)例3. 在本實(shí)例中,我們采用文獻(xiàn)18發(fā)表的一組軟件測(cè)試數(shù)據(jù)。該數(shù)據(jù)來(lái)自于貝爾實(shí)驗(yàn)室的一個(gè)網(wǎng)絡(luò)遙測(cè)系統(tǒng),包括22個(gè)軟件失效間隔時(shí)間,如圖5 (a) 所示。文獻(xiàn)實(shí)例2. 在本實(shí)例中,我們采用文獻(xiàn)20發(fā)表的一組軟件測(cè)試數(shù)據(jù),該數(shù)據(jù)來(lái)自于一個(gè)實(shí)際軟件開(kāi)發(fā)項(xiàng)目,包括19個(gè)星期的測(cè)試數(shù)據(jù),數(shù)據(jù)形式為到每個(gè)星期為止觀測(cè)到的累計(jì)軟件失效數(shù)。我們同樣將以上三種數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型應(yīng)用于這組數(shù)據(jù)上,得到的模型預(yù)測(cè)均方誤差如表2所示。可以看出,模型C的預(yù)測(cè)均方誤差仍然是最小的。18提出了一種基于支持向量機(jī)的軟件可靠性模型 (稱為模型D),采用軟件失效間隔時(shí)間作為模型使用
22、的數(shù)據(jù)。文獻(xiàn)18使用前18個(gè)觀測(cè)到的軟件失效間隔時(shí)間對(duì)模型進(jìn)行訓(xùn)練,然后用訓(xùn)練后的模型對(duì)第1922個(gè)軟件失效間隔時(shí)間進(jìn)行預(yù)測(cè)。我們將本文所提出的軟件可靠性模型應(yīng)用于該組數(shù)據(jù)上。由于我們使用的是累計(jì)失效數(shù)據(jù),因此首先通過(guò)式 (2) 將失效數(shù)據(jù)進(jìn)行了轉(zhuǎn)換。轉(zhuǎn)換后的軟件失效數(shù)據(jù)如圖5表2 基于文獻(xiàn)20發(fā)表的測(cè)試數(shù)據(jù)的研究 Table 2. Empirical Study Based on SoftwareFailure Data in 20模型A 模型B模型C預(yù)測(cè)均方誤差 (第519個(gè)星期)10.73 21.72 7.35根據(jù)實(shí)例1和實(shí)例2的研究結(jié)果,我們認(rèn)為,在數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型中,應(yīng)該使用
23、最近的部分失效數(shù)據(jù),而不應(yīng)使用全部的失效數(shù)據(jù),否則模型的預(yù)測(cè)精度會(huì)受到影響。具體使用多少個(gè)最近失效數(shù)據(jù),即w的取值,可以用圖4所示的算法得出。該結(jié)論是符合軟件工程的實(shí)際情況的。通常在軟件的測(cè)試過(guò)程中,由于測(cè)試人員的熟練程度變化、中途更換測(cè)試人員等因素的影響,軟件失效過(guò)程的特性不是平穩(wěn)的,而是隨時(shí)間變化的。早期的軟件失效數(shù)據(jù)反映的是軟件失效過(guò)程的早期特性;只有近期的軟件失效數(shù)據(jù)才反映的是軟件失效過(guò)程的近期特性以及發(fā)展趨勢(shì)。如果使用早期的軟件失效數(shù)據(jù),則使得軟件可靠性模型被迫去適應(yīng)軟件失效過(guò)程的早期特性,反而會(huì)影響模型對(duì)軟件失效過(guò)程的近期特性及發(fā)展趨勢(shì)的學(xué)習(xí),從而降低模型對(duì)將來(lái)軟件失效行為的預(yù)測(cè)精
24、度。因此,在數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型中,應(yīng)該只使用最近的部分失效數(shù)-6-(b) 所示。我們分別計(jì)算了這兩種軟件可靠性模型對(duì)第1922個(gè)失效點(diǎn)的預(yù)測(cè)均方誤差,其結(jié)果如表3所示。可以看出,本文所提出的軟件可靠性模型的預(yù)測(cè)均方誤差較小。因此我們認(rèn)為,在數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型中,應(yīng)該使用累計(jì)失效數(shù)據(jù),而不應(yīng)使用失效間隔數(shù)據(jù),否則模型的預(yù)測(cè)精度會(huì)受到影響。該結(jié)論也是符合軟件工程的實(shí)際情況的。眾所周知,軟件失效間隔數(shù)據(jù) (如失效間隔時(shí)間) 具有很大的不穩(wěn)定性,通常會(huì)發(fā)生一個(gè)數(shù)據(jù)與前一個(gè)數(shù)據(jù)差別很大的情況,即數(shù)據(jù)存在多處突變,如圖5 (a) 所示的數(shù)據(jù)。對(duì)這樣的數(shù)據(jù),無(wú)論是人工神經(jīng)網(wǎng)絡(luò)還是支持向量機(jī),都是
25、很難擬合的。而軟件累計(jì)失效數(shù)據(jù)很少發(fā)生突變的情況,其增長(zhǎng)模式相對(duì)穩(wěn)定,如圖5 (b) 所示的數(shù)據(jù),因此人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)能夠更好地對(duì)其擬合,從而使模型具有較高的預(yù)測(cè)精度。表3 基于文獻(xiàn)18發(fā)表的測(cè)試數(shù)據(jù)的研究 Table 3. Empirical Study Based on SoftwareFailure Data in 18 模型C 模型D 預(yù)測(cè)均方誤差 (第1922個(gè)失效點(diǎn))預(yù)測(cè)精度。實(shí)例研究所得出的結(jié)論對(duì)軟件可靠性的建模與預(yù)測(cè)具有一定的指導(dǎo)意義。在以后的工作中,我們將研究進(jìn)一步提高數(shù)據(jù)驅(qū)動(dòng)的軟件可靠性模型預(yù)測(cè)精度的方法。例如,是否可以不采用最近的w+1個(gè)失效數(shù)據(jù),而是采用某幾個(gè)觀
26、測(cè)到的軟件研究結(jié)果表明,這種方法對(duì)提高模型的預(yù)測(cè)1644.05 762.39 失效數(shù)據(jù)來(lái)對(duì)模型進(jìn)行訓(xùn)練?我們的初步精度是可行的。參考文獻(xiàn)1 Lyu M R (ed.) Handbook of Software Reliability Engineering M. New York: McGraw-Hill, 1996. 2 Musa J D, Iannino A, Okumoto K. Software Reliability: Measurement, Prediction, Application M. New York: McGraw-Hill, 1987. 3 Xie M. Softw
27、are Reliability Modeling M. Singapore: World Scientific Publisher, 1991. 4 Pham H. Software Reliability M. Singapore: Springer-Verlag, 2000. 5 Hu Q P, Dai Y S, Xie M, et al. Early software reliability prediction with extended ANN model A. Proceedings of the 30th Annual International Computer Softwar
28、e and Applications Conference C. IEEE Computer Society Press, 2006,2: 234239. 6 Hu Q P, Xie M, Ng S H, et al. Robust recurrent neural network modeling for software fault detection and correction prediction J. Reliability Engineering and System Safety, 2007, 92(3): 332340. 7 Burtschy B, Albeanu G, Bo
29、ros D N, et al. Improving software reliability forecasting J. Microelectronics and Reliability, 1997, 37(6): 901907. 8 Guo J, Liu, H, Yang, X, et al. A software reliability time series growth model with Kalman filter J. WSEAS Transactions on Computers, 2006, 5(1): 17. 9 Khoshgoftaar T M, Szabo R M.
30、Using neural networks to predict software faults during testing J. IEEE Transactions on Reliability, 1996, 45(3): 456462.10 Sitte R. Comparison of software-reliability- growth predictions: neural networks vs. parametric-recalibration J. IEEE Transactions on Reliability, 1999, 48(3): 285291.11 Cai K
31、Y, Cai L, Wang W D, et al. On the neural network approach in software reliability modeling J. Journal of Systems and Software, 2001, 58(1): 4762.12 Ho S L, Xie M, Goh T N. A study of the connectionist models for software reliability prediction J. Computer and Mathematics with Applications, 2003, 46(
32、7): 10371045.i5101520(a)i5101520(b)圖5 軟件失效數(shù)據(jù)(a) 失效間隔時(shí)間18 (b) 失效時(shí)間Fig. 4 Software failure data(a) Inter-failure times18 (b) Failure times4. 結(jié)論本文提出了一種基于支持向量機(jī)的軟件可靠性模型。該模型使用累計(jì)失效數(shù)據(jù)而不是失效間隔數(shù)據(jù);并且僅使用最近的部分失效數(shù)據(jù)而不是使用所有觀測(cè)到的失效數(shù)據(jù)。本文還提出了一種基于遺傳算法的模型參數(shù)優(yōu)化方法。通過(guò)三個(gè)實(shí)例研究,結(jié)果表明本文所提出軟件可靠性模型具有較好的-7-13 Tian L, Noore A. Evolutio
33、nary neural network modeling for software cumulative failure time prediction J. Reliability Engineering and System Safety, 2005, 87(1): 4551.14 Vapnik V. The Nature of Statistical Learning Theory M. New York: Springer-Verlag, 1995.15 Cristianini N, Shawe-Taylor, J. An Introduction to Support Vector
34、Machines and Other Kernel-Based Learning Methods M. London: Cambridge University Press, 2000.16 鄧乃揚(yáng), 田英杰. 數(shù)據(jù)挖掘中的新方法: 支持向量機(jī) M. 北京: 科學(xué)出版社, 2004.17 Tian L, Noore A. Dynamic software reliability prediction: an approach based on support vector machines J. International Journal of Reliability,Quality and
35、Safety Engineering, 2005, 12(4): 309321.18 Pai P F, Hong W C. Software reliability forecasting by support vector machines with simulated annealing algorithms J. Journal of Systems and Software, 2006, 79(6): 747755.19 Chen K Y. Forecasting systems reliability based on support vector regression with g
36、enetic algorithms J. Reliability Engineering and System Safety, 2007, 92(4): 423432.20 Wood A. Predicting software reliability J. Computer, 1996, 29(11): 6977.Research on data-driven software reliability modelsYang Bo, Huang Hongzhong, Guo SuchangSchool of Mechatronics Engineering, University of Ele
37、ctronic Science and Technology of China,Chengdu (610054)AbstractTraditional software reliability growth models (SRGMs) are generally based on several impractical assumptions, which to a large extend limits their applicability and accuracy. In recent years, data-driven approach to software reliability modeling has attracted a lot of attention, and several artificial neural
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年木材加工及制品合作協(xié)議書
- 網(wǎng)絡(luò)資源共享與服務(wù)協(xié)議
- 農(nóng)村集體經(jīng)濟(jì)組織與農(nóng)戶合作種植協(xié)議
- 養(yǎng)豬場(chǎng)買賣合同協(xié)議書
- 體育場(chǎng)館建設(shè)與管理合同
- 公文處理案例與解析試題及答案
- 收銀員半年工作總結(jié)
- 漁區(qū)水產(chǎn)合作經(jīng)營(yíng)與利潤(rùn)分成協(xié)議
- 農(nóng)田管理與農(nóng)業(yè)科技合作協(xié)議
- 跨區(qū)域數(shù)據(jù)傳輸保密協(xié)議
- 機(jī)械制造工藝學(xué) 王先逵課后答案
- 西方思想經(jīng)典-南京大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 天府國(guó)際生物城C7-1實(shí)驗(yàn)室項(xiàng)目環(huán)境影響報(bào)告
- 招商計(jì)劃書內(nèi)容
- 地鐵車站畢業(yè)設(shè)計(jì)
- 小學(xué)數(shù)學(xué)前置性探究學(xué)習(xí)的實(shí)踐研究
- 軌道交通信號(hào)基礎(chǔ)知到章節(jié)答案智慧樹(shù)2023年同濟(jì)大學(xué)
- 如何預(yù)防與處理勞動(dòng)爭(zhēng)議培訓(xùn)課件
- JJG 1148-2022電動(dòng)汽車交流充電樁(試行)
- GB/T 16866-1997一般用途的加工銅及銅合金無(wú)縫圓形管材外形尺寸及允許偏差
評(píng)論
0/150
提交評(píng)論