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 ⎠
   185   186   187   188   189   190   191   192   193   194   195