APP下载

民航旅客服务信息系统可靠性评估

2016-10-22曹卫东王喜艳

中国民航大学学报 2016年3期
关键词:软件可靠性变点失效率

曹卫东,王喜艳

(中国民航大学计算机科学与技术学院,天津 300300)

民航旅客服务信息系统可靠性评估

曹卫东,王喜艳

(中国民航大学计算机科学与技术学院,天津300300)

为了适应民航旅客服务信息系统可靠性要求,针对Schneidewind模型中对所有失效进行统一处理的不合理情况,结合软件可靠性及其模型的相关理论,提出在Schneidewind模型中通过加入变点方式来改进模型。该模型利用从软件测试过程中收集到的失效数据,分析民航旅客服务信息系统的可靠性。在民航旅客服务信息系统中引入改进的Schneidewind模型,并进行实验对比验证。结果表明,文中提出的软件可靠性模型能更好地对民航旅客服务信息系统进行可靠性评估和预测。

软件可靠性;Schneidewind模型;变点;失效数据

随着民航旅客服务信息系统规模的不断扩大,中国航信航班查询、订座和航班控制等信息系统待处理的可靠性数据量越来越庞大。民航旅客服务信息系统相比于其他信息系统,需要各子系统实时地进行数据交换、储存、管理,相对独立且相互配合的运作,要求7×24 h不间断运行,需要系统具有安全性、可靠性、高效性和实时性等特点。民航旅客服务信息系统的众多子系统累积大量的测试数据,这些数据存在信息冗余、数据不完整等问题,严重影响了系统的可靠性,因此如何合理有效地评估民航旅客服务信息系统的可靠性,保证系统的正常运行是一个亟待解决的问题[1]。

近年来,随着对软件可靠性的研究越来越深入,相关学者建立了各种软件可靠性模型,不同的模型在使用时有不同的假设条件,但并没有一种通用模型适用于所有软件[2]。模型的假设条件决定了相应模型在使用时会有一定的限制。在所有的可靠性模型中,Schneidewind模型有着广泛的实用性且效果较显著,该模型认为软件的失效率随时间发生变化,且随时间的变化失效率的变化规律也会越来越稳定[3]。针对以上模型的不足,尝试在Schneidewind模型中加入变点的方式来改进,这种方法不受运行剖面的限制和优化模型的假设条件,从而提高模型的精确度及软件的可靠性[4]。在变点问题中有很多样本,多数情况下有些样本观察值按出现的时间先后顺序排列,在某个未知的时间点,样本观察值的分布特征或其观察值的数字特征突然发生了较大变化,此时间点称之为变点[5]。

1 软件可靠性研究现状

软件可靠性及其模型的研究始于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 软件可靠性评估过程与准则

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]。

3 Schneidewind变点模型

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模型的似然函数为

4 模型验证与结果分析

实验数据采用民航旅客服务信息系统航班查询应用子系统的测试数据,该数据的特性包括失效发生日期、失效严重程度、失效报告终止时间、失效具体内容和失效后需采取的措施等。取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可以看出:加入变点后民航旅客服务信息系统的可靠度大于未加入变点的系统可靠度。

5 结语

本文利用从软件测试过程中收集到的失效数据,采用加入变点的方法改进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—),女,北京人,副教授,博士,研究方向为软件可靠性、数据库技术等.

猜你喜欢

软件可靠性变点失效率
PHMSA和EGIG的天然气管道失效率对比研究
Archimedean copula刻画的尺度比例失效率模型的极小次序统计量的随机序
回归模型参数的变点检测方法研究
正态分布序列均值变点检测的贝叶斯方法
基于二元分割的多变点估计
独立二项分布序列变点的识别方法
深入理解失效率和返修率∗
软件可靠性工程综合应用建模技术研究
数控系统软件可靠性设计与故障分析技术
固体电解质钽电容器失效率鉴定