当前位置:
文档之家› 6-2014软件可靠性工程基础
6-2014软件可靠性工程基础
靠性数据的基础上对该 统计分布的参数进行估计 ,从 而在此模型基础上对 软件的可靠性进行定量估计或评 价。
9
呈指数分布的NHPP模型 ——Jelinski-Moranda模型
10
Jelinski-Moranda模型—概述
l 模型概述
§ 该模型是由Jelinski、Moranda于1972年开发的可靠性模型, 是最早建立的软件可靠性模型之一 ,曾用于麦克唐奈道格拉 斯海军工程中。
5
评估的原理
失效率
测量到的可靠性值
当前 水平
要求 的可靠性
拟合的可靠 性模型曲线
当前测试时间
测试运行时间 达到要求的可靠性
的预计时间
评估的准确与否取决于什么 ?
6
2 软件可靠性评估模型
7
模型概述
l 软件可靠性评估模型是随机过程的一种表示形式 ,将 软件可靠性或与软件可靠性直接相关的量 ,例如:平 均无失效时间、失效率等,表示成时间与软件产品的 特性、或者开发过程的函数 。
i=1
1
xi
)
n
n
-
i =1
=
^
(i
-
1) x i
n
n
n
ï i=1 N - (i - 1) ïî
N - (1 / å x i )( å (i - 1) x i )
i =1
i =1
15
Jelinski-Moranda模型
l J-M模型的极限条件
• 在 P £ n -1 时无合理解,在
2
n
P > n -1 时有唯一合理解 2
m (t ) = b 0 ln( b 1t + 1)
l (t) = b 0 b1 /( b1t + 1)
§ 用极大似然估计法:
^
b0 =
n
^
ln( 1 + b 1 t n )
å 1 n
^
1
^
=
ntn
^
^
b1 i=1 1 + b1 ti (1 + b1 tn ) ln(1 + b1 tn )
28
Musa-Okumoto(M-O)模型-可靠性预计
xi 0
f (xi)dxi =1- exp{-f(N0 -i +1)xi}
§ 其可靠性函数为
R(xi ) =1- F(xi ) = exp{-f(N0 -i +1)xi}
14
Jelinski-Moranda模型-构造与参数估计
§ 假设总共发生n个失效,似然函数为
n
n
L( x1,× × ×, xn ) = Õ f ( xi ) = Õ f ( N 0 - i + 1) exp {- f ( N 0 - i + 1) xi }
18
失效数据
错误数 (k)
1 2 3 4 5 6
…… 15 16 17
实际失效 时间(日)
9 12 11 4 7 2
…… 4 1 3
错误数 (k)
18 19 20 21 22 23 24 25 26 27
实际失效 时间(日)
3 6 1 11 33 7 91 2 1 87
错误数 (k)
28 29 30 31 32 33 34
l 模型的构造与参数估计
§ 在假设的基础上,运用可靠性工程学的基本理论,以第i-1
次失效为起点的第i次失效发生的时间是一个随机变量 ,它
服从以 Z (xi为) 参数的指数分布,其密度函数为
f (xi ) = f(N0 - i + 1) exp{- f(N0 - i + 1)xi }
§ 其分布函数为
ò F(xi) =
,
24
非指数分布的NHPP模型 ——Musa-Okumoto(M-O)对数泊松执行时间模型
25
Musa-Okumoto(M-O)模型-概述
l 模型概述
§ 对数泊松模型是另一个被广泛使用的模型 ,它是由Musa和 Okumoto提出的。
§ 该模型是失效强度函数随失效发生而指数递减的非均匀泊松 过程。
l 国际标准IEEE Std.1633 (IEEE Recommended Practice on Software Reliability)
§ 软件可靠性评估(software reliability evaluation)被 定义为“统计学技术在系统测试和运行期间收集的可观测失 效数据上的应用,用于评价软件的可靠性” 因此,二者的定义均认为,软件可靠性评估是在获得了软件 的失效数据之后对软件可靠性水平的定量估计和评价 。
Fˆ = 0.00685
Nˆ 0 = 31.2
, l 失效间隔时间的估计值则可由下式算出 :
MTBFˆi
=
1 0.00685(32 - i
+ 1)
l i=27时,MTBF=24.3309(日)
23
应用案例结果分析
l 程序在使用和再测试中发现的错误数共有 34个,假定 程序的排错工作已经很彻底 ,可认为程序的固有错误 总数为34个,估计值32略低于实际值。
Musa-Okumoto(M-O)模型-模型构造与参数估计
l 模型的构造与参数估计
m (t ) = [ln( l 0q × t + 1)] / q l (t ) = m ¢(t ) = l0 /( l0q × t + 1)
§ M-O模型还可以用另一个表达式来给出 :
§ 令 b 0 = q -1 且 b1 = l0q
实际失效 时间(日)
47 12 9 135 258 16 35
开发
发现
19
测试 发现
使用 发现 再测 发现
利用J-M模型评估案例软件的可靠性
l 目的:
§ 评估开发结束时§ 根据失效数据评估模型参数 和 § 根据评估公式计算开发结束时软件的可靠性水平
20
基本公式
å ( i - 1)( t i - t i -1 )
P = i=1
tn
l 可靠性预计
^^
Rn+1(x) = R(x| tn) =e-(N-n)f x
^^
Fn+1(x) =1-Rn+1(x) =1-e-(N-n)fx
fn+1(x)
=
-
dRn+1(x) dx
=
(N^ -n)f^e-(N^ -n)f^
x
{ } ò TTFn+1 = E Xn+1 | x1,×××, xn
l 失效率函数为: Z (xi ) = F(N0 - i +1)
l 其分布函数为:
l 其可靠性函数为:
l 失效时间间隔为:
MTBFi
=
1 F(N 0 - i + 1)
21
模型参数的求解
其中 利用数值计算法可以得到 和
的点估计值。
22
模型参数和可靠性的估计值
l Jelinski和Moranda得到的参数估计值为
3
1 软件可靠性评估概述
4
何为软件可靠性评估
l 国家标准GB11457 (软件工程术语)
§ 软件可靠性评估(software reliability assessment)或 软件可靠性评价(software reliability evaluation)是 指“确定现有系统或系统部件可靠性所达到的水平的过程 ”
^
]b0
b1(tn + x) +1
29
Musa-Okumoto(M-O)模型-可靠性预计
l 可靠性预计
f n+1 ( x )
=
-
dR
n+1 ( x ) dx
=
^
b
0
^^
b 1(b 1 tn
^
+ 1) b 0
^
/[ b 1 (t n
+
^
x ) + 1] b 0 +1
{ } ò¥
TTF n + 1 = E X n + 1 | x1 ,× × ×, x n = 0 R n + 1 ( x ) dx
i =1
i =1
§ 对上式两边取对数,得
n
n
å å ln L(x1,× × ×, xn ) = ln f (xi ) = (lnf(N0 - i +1) - f(N0 - i +1)xi )
i=1
i=1
§ 则模型参数的极大似然法估计值是以下方程组的解
ïìf^ =
ï
å å ïï
í ï
n
å ï
^
N
^
n
(
=
¥ 0
Rn+1(x)dx
=
1 F(N0
-
n)
Ù
ÙÙ
TTFn+1 = 1/ f ( N - n)
16
应用案例
l 1972年,Jelinski和Moranda分析U.S. Navy Fleet Computer Programming Center的数据。这些数据是 从美国海军战术数据系统 (Naval Tactical Data System-NTDS)保存的一个实时多处理机系统软件开发 过程的资料中提取的 ,包括了38个不同的模块 ,每个 程序模块都经过了开发阶段 、测试阶段和使用阶段。
17
应用案例
l 每当操作者或用户发现了系统的错误征兆 ,就用软件 异常报告的形式记载和反映 ,再由熟悉整个程序的人 员跟踪这些问题,查找原因。 这些模块中的一个大 型模块的失效间隔时间 (用日表示)示于下表。
l 这个模块在开发阶段,发现了26个错误,在测试阶段 又发现了5个错误,在使用阶段发现了1个错误后,对 模块再次进行了测试 ,结果又发现了 2个错误。