Page 42 - 《软件学报》2021年第12期
P. 42

3706                                Journal of Software  软件学报 Vol.32, No.12, December 2021

             Table 5    Relationship of modifier between current time period index and next time period module defect
                      表 5   只考虑改动者的当前时间段指标和下一个时间段模块缺陷的相关系数
                        指标                  Xbmc          Roslyn      elasticsearch  相关性
                              评审次数         0.552***      0.639***      0.792***      不确定
                            评审信息长度         0.450***      0.477***      0.707***      不确定
                评审活动
                              评审时间         0.489***      0.487***      0.702***      不确定
                            代码改动行数         0.416***      0.405***      0.568***      不确定
                             改动者数量         0.440***      0.395***      0.651***      不确定
                人员分布       多改动者的比例         0.138***      −0.235***    −0.160***      不确定
                           少改动者的比例         −0.136***     0.237***      0.161***      不确定
             表 3 考虑了决策者的人员分布指标中,决策者数量,多改动、少评论、少决策者的比例,少改动、少评论、
         少决策者的比例与软件缺陷数量都接近中等正相关.相比于表 3,表 4 只考虑改动者和评论者的人员分布指标
         里,多改动、少评论者的比例,少改动、多评论者的比例,少改动、少评论者的比例都和软件缺陷数量接近弱相
         关,达不到中等相关;表 5 只考虑改动者的人员分布指标的相关性无法确定.本文提出的度量指标与软件缺陷数
         量存在较强的相关性.这说明了考虑决策者因素的度量体系的适用性和有效性.
         4.2.2    上一个时间段的软件缺陷数量与当前时间段的评审过程的相关性
             本文进一步研究当前时间段的评审活动是否会受上一个时间段模块缺陷的影响.探究对于上一个时间段
         有缺陷的模块,开发人员是否在当前时间段的代码评审中给了它们足够的关注和评审,来解决它们的遗留问题.
         首先,根据当前时间段的数据计算了当前时间段的项目中每个模块在度量体系里的各个指标;然后,通过错误词
         集匹配,计算上一个时间段每个模块中的缺陷数目;最后,通过 Spearman 系数检验来计算当前时间段的度量指
         标和上一时间段软件缺陷的相关系数,得出表 6.
                Table 6    Relationship between current time period index and previous time period module defect
                            表 6   当前时间段的指标和上一个时间段模块缺陷的相关系数
                              指标                    xbmc       roslyn   elasticsearch  相关性
                                评审次数               0.611***   0.549***    0.648***  中等正相关
                               评审信息长度              0.547***   0.465***    0.571***  中等正相关
               评审活动
                                评审时间               0.559***   0.450***    0.559***  中等正相关
                               代码改动行数              0.515***   0.463***    0.562***  中等正相关
                               改动者数量               0.647***   0.653***    0.671***  中等正相关
                               评论者数量               0.614***   0.607***    0.663***  中等正相关
                               决策者数量               0.678***   0.647***    0.674***  中等正相关
                        多改动、多评论、多决策者的比例            0.294***   −0.316***   −0.230***   不确定
                        多改动、少评论、多决策者的比例             0.067     0.095***    0.281***  弱正相关
               人员分布     少改动、多评论、多决策者的比例            0.167***   0.139***    0.229***  弱正相关
                        少改动、少评论、多决策者的比例             −0.012     0.046       0.030     不确定
                        多改动、多评论、少决策者的比例            0.107**    0.251***     0.042    弱正相关
                        多改动、少评论、少决策者的比例            0.424***   0.435***    0.420***  中等正相关
                        少改动、多评论、少决策者的比例            −0.110**   −0.463***   −0.368***   不确定
                        少改动、少评论、少决策者的比例            0.603***   0.520***    0.621***  中等正相关

             从表 6 的数据可以看出:3 个项目的评审活动指标(评审次数、评审信息长度、评审时间、代码改动行数)
         与软件缺陷的相关系数在 0.4~0.7 之间,呈现中等正相关.这说明度量体系中的评审活动指标与软件缺陷存在较
         强的相关性.上一个时间段缺陷越多的模块,在当前时间段的评审次数越多、评审信息长度越大、评审时间越
         长、代码改动行数越多.在计算相关系数时,本文还计算了 p 值,分析结果是否显著.表 6 的结果表明,大多数 p 值
         都小于 0.001.结果具有显著的统计学意义.
             人员分布指标中,改动者数量,评论者数量,决策者数量,多改动、少评论、少决策者的比例,少改动、少评论、
         少决策者的比例也和软件缺陷成中等正相关性,相关系数在 0.4~0.7 之间.这说明本文的度量体系的决策者数量
         指标的有效性,在人员分布指标中考虑决策者数量是合理的.
   37   38   39   40   41   42   43   44   45   46   47