Page 191 - 《软件学报》2020年第9期
P. 191

2812                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

                                     z(t)                              z(t)



                          x 1    x 2         x                        x 1  x 2  x



                     Fig.5   Curve shape with opening up        Fig.6    Curve shape with opening down
                          图 5   开口向上曲线形状                     图 6   开口向下曲线形状

             同理,当 c(t)为其他形式时可作同样的分析处理,进而得到有价值的结果.
         4.2   直接设定FDR

             由于 FDR 构成的不同,b(t)存在着多种函数形式.早期研究中认为 FDR 为常量,设定 b(t)=b,显然无法描述
                                                                                            b
         b(t)随测试环境的变化情况.随着研究的深入,FDR 已呈现出多种函数形式,例如 b(t)=b t/(1+bt), () =                         ,
                                                                             2
                                                                                     bt
                                                                                          +
                                                                                         1 β e − bt
                 −βt
         b(t)=bαβe , () =bt  b αβt e − βt  2 /2  等.这些 FDR 可分为两类.
             ①  常量类型:b(t)=b,认为 FDR 在整个测试过程中并不发生改变,这虽能带来求解上的简易,但显然偏离实
                 际测试情形;
             ②  时变类型:例如 () =        c   ,其呈现 S 型变化趋势,能够描述测试中 FDR 对多种测试环境的适应.
                             bt
                                  +
                                 1 α e − bt
             另一方面,鉴于 FDR 是对测试环境的直接描述,测试环境的改变可借助 FDR 进行研究呈现.因而,当前对考
         虑变动点 CP(change-point)的 SRGM 研究中,多从建立 FDR 分段函数的形式来实施.文献[64]即基于各种 FDR,
         将其引入到 SRGM 建模中进行研究.
         4.3   复合式——TE参与的FDR
             Li QY 在她的文献[65]中指出,考虑 TE 的可靠性建模可以进一步改善 SRGM 的拟合和预测效果.测试过程
         中,随着故障检测与修复等环节中 TE 的不断消耗,软件可靠性不断得到提高.在我们前期研究                                [6,7] 的基础上对
         TEF 进行了梳理,并给出了考虑 TEF 的 SRGM 研究.例如,在如下的假设下:“[0,t]内累计检测到的故障数量与当
         前剩余的故障数量下所花费的测试工作量 TE 时的故障检测率 b(t)成比例”,可以得到典型的考虑 TE 的 SRGM
         建模方法    [31,32,36,64,66−73] :
                                         d( )   1
                                          mt
                                                     () [a m t⋅
                                              ⋅   =  bt  −  ()]                              (24)
                                           dt  w ( ) t
         其中,b(t)为故障检测率函数,m(t)表示[0,t]内累计检测到的故障数量,a 表示软件中的总故障个数.在本质上,公式
         (24)的故障检测率函数为 b(t)⋅w(t).实际上,FDR 表示“单位 TE 花费下平均检测出的故障”                  [64] .这样,b(t)⋅w(t)实际
         上是一个复合函数,其包含了测试工作量的因素.
         4.4   小   结

             在前述分析的基础上,我们可以将多种描述故障检测能力的函数称为故障检测因子 k(t),k(t)存在如下 5 种
         情况.
             (1)  k(t)=b(t)=b——常量;
             (2)  k(t)=b(t)——此时 b(t)存在多种函数形式,如前所述;
                       ct ′ ()
                  () =
             (3)   kt       ——从测试覆盖的角度,提出了故障被检测出来的能力;
                       −
                      1 ct
                         ( )
   186   187   188   189   190   191   192   193   194   195   196