软件可靠性模型算法分析与评价

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

尹晶杰:软件可靠性模型的算法分析与评价
139
软件可靠性模型算法分析与评价
尹晶杰
摘要:本文首先对三个经典的软件可靠性模型(J-M 、G-O 、S-W)进行参数计算的数值算法设计,在此基础上通过可靠性数学关系得到失效间隔时间的密度函数、分布函数、可靠性函数以及失效率函数。

其次,分别采用未确知模型、J-M 模型、G-O 模型、S-W 模型针对具体实例的失效时间进行预测评估,并对各模型的可靠性评估曲线进行描绘。

第三,利用Delphi 开发软件设计并开发完成了一个简易的软件可靠性评估工具。

该工具嵌入了包括未确知模型在内的四个软件可靠性模型(J-M 模型、G-O 模型、S-W 模型),能够输出模型评估结果和评估曲线,并具有计算各模型评价准则值(KS 值、PL 值、模型噪声)和绘制用于模型评价的PLR 图、-u 结构图、
-y 结构图的功能。

关键词:软件可靠性;软件可靠性模型
Abstract: Here originally in the paper, model in three software reliability model (J-M, G-O , S-W ) at first ask the parameter algorithm to be designed , draw the parameter of each model, receive invalid density function of spacing interval , distribute function , reliability function and software failure rate function through dependability mathematics relation on this
basis.Secondly, on the basis of the above function, including software reliability based on unascertained theory model , J-M model , G-O model , S-W model predict the assessment to the failure time of the concrete instance separately, design through Delphi one simple interface describe to every reliability assessment curve of model.Moreover , utilize Delphi to designed and development a simple software reliability estimation tool. This tool inlayed three traditional software reliability models: J-M model, G-O model, S-W model and the new model put forward in this paper. It is not only can exports the estimation results but also can provides assessment curve , including calculating every model appraise criterion value (KS value , PL value , model noise ) and PLR chart that is used to model comparison, u-plot and the y- plot.
Keywords: Software reliability Software reliability model 1. 基本概念
1.1 软件可靠性的定义
关于软件可靠性的确切含义,学术界有过长期的争论,经过长期的争论和研究,1983年美国IEEE 计算机学会对 “软件可靠性”一次正式做出如下定义:
(1) 在规定条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否会遇到已存在的错误(如果错误存在的话);
(2) 在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。

1.2 软件可靠性参数
下面对几个主要的软件可靠性参数进行介绍:
(1) 可靠度
软件可靠度R 是指软件在规定的条件下、规定的时间段内完成预定的功能的概率。

或者说是软件在规定时间内无失效发生的概率。

用随机变数ξ表示从软件运行开始到系统失效所经历的时间,用)(t F ξ表示ξ的分布函数,用t 表示任意给定的时刻,用)(t R ξ表示软件在t 时刻的可靠度,则数学公式如下:
{})(1)(t F t P t R r ξξξ-=>= (1-1)
(2) 失效率
河北工程学院优秀毕业设计(论文)
140
失效率是指软件在t 时刻没有发生失效的条件下,在)(t t ∆+区间内,当t ∆很小时,单位时间内发生失效的概率。

用随机变数ξ表示从软件运行开始到系统失效所经历的时间,用t 表示任意给定的时刻,用)(t λ表示失效率,则失效率数学公式为:
{}
t
t t t t P t r t ∆>>≥∆+=→∆ξξλ/lim )(0 (1-2) (3) 平均失效间隔时间MTBF
MTBF 是指两次相邻失效时间间隔的均值。

假设当两次相邻失效时间间隔为ξ,ξ具有累计概率密度函数)()(t P t F ≤=ξ,即可靠度函数
)()(1)(t P t F t R >=-=ξ
则 ⎰∞
=0
)(dt t R MTTF (1-4)
2. 系统设计
2.1设计思想
整个软件可靠性评估工具的设计采取模块化思想,一个模型设计为一个模块,都具有数据输入和评估结果(包括模型中的参数估计值、软件可靠性参数、模型的可靠性评估曲线等)输出。

系统的数据流图如图2-1所示:
2.2 数值算法设计
2.2.1 Goel-Okumoto 模型参数计算
Goel-Okumoto 模型参数的最大似然估计:
在应用G-O 模型进行实际观测、分析软件故障数据时,首先要推定模型中的均值函数)(t m 中的未定参数a 和b 。

下面我们用最大似然估计法估计a 和b 的值。

按假设(4),若t 时刻累积故障数为y ,则得到)(t N 的概率密度为:
图2-1 系统的数据流图
尹晶杰:软件可靠性模型的算法分析与评价
141 )}1(exp{!))1((!)(})({)(bt y
bt t m y
r e a y e a e y t m y t N P ------=== (2-1)
从式(2-1)可得出参数的似然函数为:
∏=-------⋅--=--m i bt i i n n bt bt m i i i i e a n n e e a b a L 11)}1(exp{)!())((),(11 (2-2) 通过极大似然参数估计解的特性的分析实现了该计算方法的计算机编程,具体步骤如下: 步骤1:令给定的误差允许值为N N i i Nt t
D ∑==1。

如果210<<D ,则2/)21(D x l -=,故
D x r 1=,转步骤2;如果21≥D ,则参数估计无解,转步骤5。

步骤2:计算2/)(l r m x x x +=,如果y l r x x ζ≤-,则转步骤4。

步骤3:1)1()1(--+-=m x m x D e
Dx f m ,如果y f ζ>,则m l x x =转步骤2;如果y f ζ-<,则m r x x =,转步骤2。

步骤4:计算N m t x b =和)1/(N bt e N a --=。

步骤5:停止计算。

2.2.2 Jelinski-Moranda 模型参数计算
Jelinski-Moranda 模型参数的最大似然估计:
在模型公式中有两个未知参数0N 和Φ,如果在测试过程中测得的失效间隔时间为n x x x ,,,21 ,则参数0N 和Φ的似然函数为:
∏=+-Φ-+-Φ=Φn
i i x i N i N N L 1
000})1(exp{)1(),( (2-5)
通过极大似然参数估计解的特性的分析实现了该计算方法的计算机编程,具体步骤如下: 设x e 为针对自变量x 而给定的误差精度控制值,y e 为针对自变量y 而给定的误差精度控制值。

计算
p N n i N N f n i --+-=∑=111)( , n
n
i i i t t t i p ∑=---=11))(1( 步骤1:如果21
->n P ,则n right n left =-=,1,转步骤2;如果21
-≤n P ,则终止计算。

步骤2:如果y e right f >)(,则right left =和1+=right right ,重复步骤2;若y x e right f e ≤≤-)(,则right root =,转步骤5;若x e right f -≤)(,转步骤3。

步骤3:如果x e left right <-,则2
left right root +=,转步骤5;如果x e left right >-,则2
left right root +=,转步骤4。

步骤4:如果y e root f >)(,则root left =,转步骤3;如果y y e root f e ≤≤-)(,则转步骤5;如果y e root f -<)(,则root right =,转步骤3。

相关文档
最新文档