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

蒋竞  等:开源社区评审过程度量体系及其实证研究                                                         3699


         decision-makers with  few changes,  few comments, and  few  decision-makers are moderately  positively correlated with  the  number  of
         software defects. At the same time, compared with the measurement system without the decision maker, it is found that the measurement
         system with the decision maker has a higher correlation with software defects. The results of the empirical study verify the effectiveness
         of review process measurement system, and illustrate the necessity of adding relevant indicators for decision makers.
         Key words:    open source community; code review; measurement system; decision maker; software defect

             开源软件特有的开发模式激活大众创新潜力、提高创新效率.开源社区里的开发人员可以下载源码,并在
         本地代码库进行修改,协同进行软件开发.但是,不同开发人员提交的代码水平参差不齐,代码风格也不尽相同,
                                   [1]
         需要代码评审检查提交代码质量 .决策者是代码评审的关键人物,审核开发人员提交的代码,决定是否将其添
         加到源代码库.此外,开发人员也可以对代码改动和评审过程发表评论.代码评审要综合考虑代码质量、文档质
         量、测试结果、需求测试结果等因素.代码只有通过评审后,才能集成到源代码库中;未通过评审的代码会被开
         源项目拒绝,不会影响到开源软件的质量.代码评审能够提前发现项目存在的缺陷,减少了返工时间以及测试时
         间,保证开源软件质量.因此,需要建立评审过程度量体系,了解代码评审情况,发现容易出现软件缺陷的高风险
         软件模块,促进提高开源软件项目质量.
                                                               [2]
             为了解软件开发情况,研究人员提出了过程度量方法.Bird 等人 提出了一种基于开发过程度量体系,分析
         不同人员在同一模块的代码贡献量,通过过程度量体系评估这些人员的开源软件开发过程,来分析开源开发过
         程与软件缺陷的关系.然而,他们的工作只针对了开源软件开发过程,并没有考虑评审过程.Thongtanunam 等人
                                                                           [3]
         结合开发代码贡献量和评审评论贡献量,建立了一种结合评论的评审过程度量方法 .然而,他们只考虑评审过
         程中的评论活动,忽略决策活动.在代码评审里,决策者才是起关键作用的角色,直接决定了代码改动是否能够
         加入源代码库里.
             决策者是代码评审过程中的关键人物,以往的研究没有考虑决策者的活动.本文引入决策者因素,提出了一
         个开源社区评审过程度量体系,从多个指标的角度分析评审过程与软件缺陷数量的关系.首先建立度量体系的
         度量指标,分别是评审活动指标和人员分布指标.评审活动指标包含评审次数、评审信息长度、代码改动行数
         以及评审时间.人员分布指标里考虑改动者、评论者和决策者的比例和数量.然后收集 3 个热门开源项目数据,
         分析评审过程度量指标与软件缺陷数量的关系.实证研究发现:一些度量指标和软件缺陷数量至少中等正相关,
         例如决策者数量,少改动、少评论、少决策者的比例等.这些指标的数值越大,软件缺陷数量越多.同时,与不考虑
         决策者的度量体系进行对比分析,发现含有决策者的度量体系和软件缺陷的相关性更高.实证研究结果验证了
         本文提出评审过程度量体系的有效性,说明增加决策者相关指标的必要性.
             本文的主要贡献包括:
             (1)  首次引入决策者因素,考虑决策者在评审过程的重要作用,提出了一个开源社区评审过程度量体系;
             (2)  实证研究发现:和现有的度量体系相比,发现含有决策者的度量体系和软件缺陷的相关性更高.
             本文第 1 节介绍研究背景.第 2 节介绍相关研究工作.第 3 节介绍评审过程的度量指标.第 4 节进行实证研
         究,爬取真实数据,计算得出评审过程的各种指标,最后分析评审过程度量指标与软件缺陷的关系.第 5 节讨论有
         效性和论文启示.第 6 节总结全文.

         1    背景介绍

             Github 是一个著名的开源软件平台          [4−8] .Github 可以看做一个开源代码库,同时也能作为库的版本控制系
         统,因此有 900 多万的用户选择在 Github 上面进行软件开发.现如今,Github 已经成为了开发人员进行开源软件
         开发的首选.我们的所有研究也都是基于 Github 的.
             如图 1 所示,以 GitHub 为例的开源软件平台代码评审            [9−12] 主要包括以下步骤.
             (1)  开发人员可以拷贝开源项目的代码,建立副本,并在副本上进行代码修改.但是如果他们想向源代码
                 库提交自己的代码,就需要发出一条贡献请求,其中包括要修改的代码.贡献请求就是开发人员提交
                 的一组代码和文本描述.开发人员如果想将修改的代码整合到开源项目时,可以向开源项目提交贡献
   30   31   32   33   34   35   36   37   38   39   40