Page 190 - 《软件学报》2020年第9期
P. 190
张策 等:可靠性模型中故障检测率研究述评 2811
这样,易知故障检测率是测试覆盖的函数,即 b(t)=f(c(t)),例如 b(t)=c′(t)/(1−c(t)).表 2 即给出了典型的测试覆
盖函数与故障检测率函数,并对二者的关联进行了初步分析.
Table 2 Typical test coverage function and fault detection rate function
表 2 典型的测试覆盖函数与故障检测率函数
对象 含义 与可靠性 R(t)关联 函数特征 典型函数 关联
−bt [51]
(1−e )
非负非降的
测试覆盖 描述测试用例覆盖 直接相关,例如: 增函数,介于 (1−e −btc [8,51] b(t)=c′(t)/
)
函数:c(t) 被测试代码的比例 Rh e − t ∫ th+ λ ()dss = e − ac ((t h+ ) c− ( ))t −bt [47,51] (1−c(t))
(| )t =
[0,1]之间 (1−(1+bt)e )
2
非负非降, b(t)=b t/(1+bt) [26,47]
故障检测率 描述故障 直接相关 介于 b(t)=b/(1+βe ) b(t)=c′(t)/
−bt [28]
函数:b(t) 被检测出的概率 − t β 2 /2 [49] (1−c(t))
() bαβ=
[0,1]之间 bt e t
注:表 2 中,无论 c(t)还是 b(t)均是已有研究工作中直接提出来的函数形式,进而在真实的测试数据集上进行验证,
尚没有从严格理论分析的角度进行证明,属于后验式
显然,随着测试的进行,c(t)不断增长,但由于 b(t)与 c(t)之间关系较为复杂,b(t)的变化形式难以直接预测.从
α (1 e− − bt )
sta
定量关系上来看,b(t)与 c(t)都在[0,1]之间,这里以 () = 为例,提出如下定理.
ct
1 β+ e − bt
sta
定理. 当β与α的大小关系确定时,b(t)与 c(t)存在明确的大小关系.
2
证明:b(t)=c′(t)/(1−c(t)),c(t)=c(t)(1−c(t))/(1−c(t)),令 z(t)=b(t)−c(t)=[c′(t)−c(t)−c (t)]/(1−c(t)).对 c(t)求导数可得:
α e b − bt (1 β+ )
ct ′ () = .
(1 β e − bt ) 2
+
α e b − bt (1 β ) α + (1 e− − bt ) α 2 ( 1 e− − bt ) 2
代入 z(t)=b(t)−c(t)=[c′(t)−c(t)−c (t)],得: ()zt = 2 − − ,
(1 β + e − bt ) 2 1 β e − bt (1 β + + e − bt ) 2
αβ α− )(e − bt ) + 2 α (b bβ+ + 1 β− + 2 )eα − bt − α (α + 1)
(
经化简得: ()zt = .
+
(1 β e − bt ) 2
2
−bt
令 z(t)=0,e =x,因上式分母恒大于 0,且α≠0,上式可转化为:(βα)x +(b+bβ−β+1+2α)x−(1+α)=0,
2
根据判别式公式可得:Δ=[b(1+β)+(1−β)+2α] +4(βα)(1+α),
2
2
化简得:Δ=(b +1)(1+β) +2b(1+β)(1−β+2α),
因为 0<β<1,所以Δ>0,所以上式有两个根.根据一元二次方程求根公式得:
− (bbβ+ + 1 b− 2 )α + Δ − (b bβ − + + 1 b− 2 )α + Δ +
x = , x = .
1 2(β α − ) 2 2(β α − )
易见,两个根的分子恒小于 0.下面对β与α的关系进行讨论.
• 当β>α时,x 1 <x 2 <0,函数图像开口向上,此时图像的大致曲线如图 5 所示.此时可得:
1 1
⎛ 1 ⎞ b ⎛ 1 ⎞ b
t
(1) x 1 <x<x 2 时,即 ln ⎜ ⎟ << ln ⎜ ⎟ 时,z(t)<0;
⎝ x 2 ⎠ ⎝ x 1 ⎠
1 1
⎛ 1 ⎞ b ⎛ 1 ⎞ b
(2) x<x 1 或 x>x 2 时,即 t > ln ⎜ ⎟ 或 t < ln ⎜ ⎟ 时 ,z(t)>0;
⎝ x 1 ⎠ ⎝ x 2 ⎠
• 当β<α时,0<x 1 <x 2 ,函数图像开口向下,此时图像的大致曲线如图 6 所示.此时可得:
1 1
⎛ 1 ⎞ b ⎛ 1 ⎞ b
t
(1) x 1 <x<x 2 时,即 ln ⎜ ⎟ << ln ⎜ ⎟ 时,z(t)>0;
⎝ x 2 ⎠ ⎝ x 1 ⎠
1 1
⎛ 1 ⎞ b ⎛ 1 ⎞ b
(2) x<x 1 或 x>x 2 时,即 t > ln ⎜ ⎟ 或 t < ln ⎜ ⎟ 时 ,z(t)<0.
⎝ x 1 ⎠ ⎝ x 2 ⎠