曹衛東,王喜艷
(中國民航大學計算機科學與技術學院,天津 300300)
民航旅客服務信息系統可靠性評估
曹衛東,王喜艷
(中國民航大學計算機科學與技術學院,天津300300)
為了適應民航旅客服務信息系統可靠性要求,針對Schneidewind模型中對所有失效進行統一處理的不合理情況,結合軟件可靠性及其模型的相關理論,提出在Schneidewind模型中通過加入變點方式來改進模型。該模型利用從軟件測試過程中收集到的失效數據,分析民航旅客服務信息系統的可靠性。在民航旅客服務信息系統中引入改進的Schneidewind模型,并進行實驗對比驗證。結果表明,文中提出的軟件可靠性模型能更好地對民航旅客服務信息系統進行可靠性評估和預測。
軟件可靠性;Schneidewind模型;變點;失效數據
隨著民航旅客服務信息系統規模的不斷擴大,中國航信航班查詢、訂座和航班控制等信息系統待處理的可靠性數據量越來越龐大。民航旅客服務信息系統相比于其他信息系統,需要各子系統實時地進行數據交換、儲存、管理,相對獨立且相互配合的運作,要求7×24 h不間斷運行,需要系統具有安全性、可靠性、高效性和實時性等特點。民航旅客服務信息系統的眾多子系統累積大量的測試數據,這些數據存在信息冗余、數據不完整等問題,嚴重影響了系統的可靠性,因此如何合理有效地評估民航旅客服務信息系統的可靠性,保證系統的正常運行是一個亟待解決的問題[1]。
近年來,隨著對軟件可靠性的研究越來越深入,相關學者建立了各種軟件可靠性模型,不同的模型在使用時有不同的假設條件,但并沒有一種通用模型適用于所有軟件[2]。模型的假設條件決定了相應模型在使用時會有一定的限制。在所有的可靠性模型中,Schneidewind模型有著廣泛的實用性且效果較顯著,該模型認為軟件的失效率隨時間發生變化,且隨時間的變化失效率的變化規律也會越來越穩定[3]。針對以上模型的不足,嘗試在Schneidewind模型中加入變點的方式來改進,這種方法不受運行剖面的限制和優化模型的假設條件,從而提高模型的精確度及軟件的可靠性[4]。在變點問題中有很多樣本,多數情況下有些樣本觀察值按出現的時間先后順序排列,在某個未知的時間點,樣本觀察值的分布特征或其觀察值的數字特征突然發生了較大變化,此時間點稱之為變點[5]。
軟件可靠性及其模型的研究始于20世紀70年代初,IEEE對軟件可靠性定義是:在規定的條件下,在規定的時間內,軟件不引起系統失效的概率[6]。軟件可靠性模型的研究方法是對失效數據建模,預測系統可靠性。最著名的模型包括 Goal-Okumoto、Jelinske-Moranda、NHPP以及Littlewood-Verral等模型。軟件可靠性模型可分為2類:基于體系結構的軟件可靠性模型和基于失效數據的軟件可靠性模型。基于體系結構的軟件可靠性模型包括基于狀態空間的模型和基于路徑的模型[7-8]。基于狀態空間的模型是用控制流圖表示體系結構,狀態轉移表示組件間的轉換,主要是采用DAG模型、CTMC、DTMC、Semi Markov Process、隨機Petri-Net。基于路徑的模型是通過路徑信息來計算系統的可靠性。基于失效數據的軟件可靠性模型根據失效數據來源的不同可分為失效計數模型和失效時間間隔模型。失效數據的來源一般有2種:一種是在軟件測試過程中收集的失效數據,另一種是軟件在運行狀態使用后收集的軟件失效數據[9]。失效計數模型是根據軟件中的失效數建立的模型,假設失效個數屬于某隨機過程,計算失效個數,建立模型進行可靠性評估,代表模型有Goel-Okumoto模型和Musa執行時間模型。失效時間間隔模型是根據統計得到的軟件失效時間,計算相鄰兩次失效的時間間隔,分析其概率分布,建立模型進行可靠性評估,代表模型有Jelinski-Moranda模型和Littlewood-Verral模型[10]。目前還沒有一個通用模型,能對所有軟件及其生命周期各個階段都能做出準確的可靠性預測。通過在Schneidewind模型中加入變點的方法來改進模型,并利用軟件測試過程中收集到的失效數據來評估軟件的可靠性。
2.1軟件可靠性評估過程
軟件可靠性評估過程,如圖1所示。

圖1 軟件可靠性評估流程圖Fig.1 Software reliability assessment flow chart
操作剖面是對軟件使用方式的數值描述,可理解為各種使用方式的使用概率,這里是指開發軟件的功能剖面和運行剖面。軟件失效數據通過軟件監控自動收集,收集到的可靠性數據特性主要包括失效發生日期、失效嚴重程度、失效報告終止時間、失效具體內容和失效后采取措施等[11]。失效發生后要對其進行數據分析,并根據分析后的失效數據列出失效數隨時間變化的散點圖和折線圖。選擇可靠度、失效率、失效強度、平均無失效時間、平均失效間隔時間等度量指標來估計軟件的可靠性。根據選擇的可靠性度量指標,建立軟件產品的某些特性函數。使用極大似然估計法進行參數估計;選用均方根誤差(RMSE)、平均相對誤差(MAPE)和誤差平方和(MSE)來度量模型的擬合度,序列似然度比值(PLR)和U-結構圖評估模型的質量。
2.2軟件可靠性評估準則
目前,關于軟件可靠性評估的方法很多,文中提出改進的Schneidewind模型的預測結果可由模型擬合度由均方根誤差(RMSE)、平均相對誤差(MAPE)和誤差平方和(MSE)來度量。模型預計有效性(用序列似然度比值的對數形式表示)和模型偏差(用U-結構圖的Kolmogrov-Smirnov距離表示)來判定[12]。
Schneidewind模型的基本思想是:注重當前失效率,認為軟件的失效率隨時間發生變化,且隨時間變化失效率的變化規律會越來越穩定。當前失效數據會比歷史數據能更好地預測軟件未來的失效率[13]。在所有的可靠性模型中,Schneidewind模型有廣泛的實用性且模型效果較顯著。Schneidewind模型[14]的基本公式為
1)失效率

其中:α為初始失效率;β為失效變化率,α,β>0。
2)可靠度
Schneidewind模型表示一個分段齊次泊松過程

3)不可靠度

4)失效均值
假設到時刻t的累積失效數符合均值函數為μ(t)的泊松過程

5)失效密度函數

6)累積失效數均值
到第i個時間區間的累積失效數均值為

7)區間內失效數均值
第i個時間區間內的失效數均值為

假設改進的Schneidewind模型共有s個時間間隔區間,m為初始時間間隔[14]。在每個時間間隔內的失效數為x1,x2,…,xs,即

采用極大似然方法估計α、β的值時,方程組為

按照加入變點的位置來分析可靠性數據,當加入多個改變點(τi)時

通過以上公式,在確定α、β的情況下,可通過變點τi的加入來改進模型,從而提升模型的精確度。因此,α、β的求解與τi的確定成為改進模型的關鍵。文中通過使用式(9)選取所有的數據來求解α、β的值。
變點的選擇通常有2種方法:一是通過分析失效數據的物理含義確定變點,此法要求充分了解測試過程發生的變動,很難實現;二是通過對失效數據本身進行分析,確定變點的位置,此法較簡單且不易出錯。文中采用的是第2種方法,通過對失效數據的失效個數和失效累計時間進行趨勢分析,確定變點的位置。
在加入變點τi的情況下,改進的Schneidewind模型的似然函數為

實驗數據采用民航旅客服務信息系統航班查詢應用子系統的測試數據,該數據的特性包括失效發生日期、失效嚴重程度、失效報告終止時間、失效具體內容和失效后需采取的措施等。取2014年6月1~15日共15天的測試數據為研究對象,基于開發操作剖面的方法得到軟件的失效數據,在Schneidewind模型中進行實驗。失效個數及其累積失效時間,如圖2所示。

圖2 失效個數及其累積發生時間Fig.2 Number of failures and the accumulation time
由圖2可看出失效累積時間的值在20~25、30~35之間有明顯的變點,并且在變點出現的時候,左右兩邊的變化規律幾乎相同。即變點的左邊以遞增規律呈現,而變點的右邊以遞減規律呈現。根據式(8)~式(11)可求得在τ1=22、τ2=33處,Schneidewind模型的似然函數取得極大值,因此,可選擇失效點22和33作為模型的變點。可對22、33左右兩邊的數據分別進行Schneidewind模型建模,重新估計22、33左右兩邊的α、β值。加入變點后,根據該組失效數據做出的序列似然度比值的圖,如圖3所示。

圖3 有變點與無變點的序列似然度比值Fig.3 Sequence likelihood ratio of variable points and non variable points
由圖3可看出序列似然度比值(文中取其log值)大于0,有相對穩定上升的趨勢。加入變點后,根據該組失效數據做出的U-結構圖,如圖4所示。

圖4 有變點與無變點的U-結構圖Fig.4 U-structure diagram with variable points and non variable points
由圖4可看出加入變點的Schneidewind模型的曲線距離單元斜線較近,即KS距離絕對值小;而未加入變點的Schneidewind模型的曲線距離單位斜率直線較遠,即KS距離絕對值大。在U-結構圖中,KS距離絕對值越小,說明模型預計結果的偏差就越小。這表明在整個預測范圍內加入變點的Schneidewind模型優于未加入變點的Schneidewind模型,盡管在局部范圍內隨機波動,但不影響結果。確定變點后進行實驗,記加入變點的Schneidewind模型實驗結果為R_A1,未加入變點的Schneidewind模型實驗結果為R_A0,根據式(1),得到實驗結果如表1所示。

表1 實驗結果Tab.1 Experimental results
其中,A0是未加入變點的 Schneidewind模型的評估數據;A1是加入變點的 Schneidewind模型的評估數據;(A1-A0)/A0是加入變點和未加入變點時的Schneidewind模型的評估數據的相對誤差值,其值越小,說明模型得到的評估數據越準確,評估效果越好。若相對誤差值大于0,表示加入變點后Schneidewind模型的評估效果比較好;若相對誤差值小于0,表示加入變點后Schneidewind模型的評估效果較差。
由表1可得,加入變點時Schneidewind模型的3組評估數據值均小于未加入變點時Schneidewind模型的評估數據值,說明加入變點后Schneidewind模型的預測精度提高了,因此,加入變點的Schneidewind模型對可靠性精度提高有重大意義。
民航旅客服務信息系統可靠度如表2所示。

表2 可靠度Tab.2 Reliability results
通過表2可以看出:加入變點后民航旅客服務信息系統的可靠度大于未加入變點的系統可靠度。
本文利用從軟件測試過程中收集到的失效數據,采用加入變點的方法改進Schneidewind模型,從而提高了模型的預測精度和民航旅客服務信息系統的可靠度,并通過實驗驗證該方法的可行性,但該方法存在一些局限性,即當變點較多時,使用起來較復雜。
[1]賈冀婷.軟件測試中可靠性模型的設計與研究[J].計算機技術與發展,2014,39(4):110-112.
[2]姚珍.基于失效數據的軟件可靠性評估及分析工具的實現[D].成都:電子科技大學,2007.
[3]鄧虹.變點方法在軟件可靠性模型中的應用研究 [D].武漢:武漢大學,2004.
[4]張旭.基于使用剖面的航天軟件可靠性測試數據生成方法的研究[D].北京:北京信息控制研究所,2009.
[5]INOUE S,HAYASHIDA S,YAMADA S.Toward Practical Software Reliability Assessment with Change-Point Based on Hazard Rate Models[C]//37th Annual Computer Software and Applications Conference.Kyoto:IEEE,2013:268-273.
[6]苗揚.軟件可靠性測試與評估方法的改進[D].上海:上海交通大學,2010.
[7]FIONDELLA L,GOKHALE S.Architecture-Based Software Reliability with Error Propagation and Recovery[C]//Performance Evaluation of Computer and Telecommunication Systems.Toronto:IEEE,2013:38-45.
[8]侯春燕,崔剛,劉宏偉.基于構件的NHPP類軟件可靠性增長模型的研究[J].計算機科學,2009,36(4):195-199.
[9]林睦炎.基于失效數據的軟件可靠性模型的選擇與預測研究及實現[D].昆明:昆明理工大學,2013.
[10]余正偉,吳玉美.基于失效分析的軟件可靠性評估方法研究[J].測控技術,2011,30(9):73-77.
[11]樓俊鋼,江建慧.軟件失效時間數據相關性研究[J].計算機應用,2010,30(3):601-603.
[12]尚冬娟.基于測試的軟件可靠性評估方法研究 [D].西安:西北大學,2006.
[13]屈斐.基于變點分析的軟件可靠性多模型混合研究[J].計算機仿真,2009,26(2):325-328.
[14]劉倩,田婕.一種加入單改變點的Schneidewind模型研究[J].科研信息化技術與應用,2013,4(4):52-57.
(責任編輯:楊媛媛)
Reliability assessment of civil aviation passenger service information system
CAO Weidong,WANG Xiyan
(College of Computer Science&Technology,CAUC,Tianjin 300300,China)
In order to meet the reliability requirements of civil aviation passenger service information system,it is unreasonable to deal with all the failures in Schneidewind model.Combining with the theory of software reliability and the reliability model,the adding change-point in Schneidewind model is proposed to improve.The failure data collected from software testing process are employed to analyze the reliability of civil aviation passenger service information system,and experiments are carried out to verify the validity of improved Schneidewind model in such a system.Results show that the proposed software reliability model can better evaluate and predict the reliability of civil aviation passenger service information system.
software reliability;Schneidewind model;change-point;failure data
TP39;F560
A
1674-5590(2016)03-0038-04
2015-09-24;
2015-11-01基金項目:中國民航科技基金項目(MHRD20130106,MHRD20140106);中央高校基本科研業務費專項(3122014C016,3122014P004);國家科技支撐計劃項目(2012BAH21F02)
曹衛東(1964—),女,北京人,副教授,博士,研究方向為軟件可靠性、數據庫技術等.