Page 44 - 《软件学报》2021年第12期
P. 44
3708 Journal of Software 软件学报 Vol.32, No.12, December 2021
的比例,少改动、少评论者的比例都和软件缺陷数量接近弱相关,达不到中等相关;表 5 里只考虑改动者,人员分
布指标与软件缺陷数量的相关性无法确定.而表 3 中,考虑了决策者因素的度量指标与软件缺陷数量存在较强
的相关性.因此,在设计评审过程度量体系时,应该考虑决策者因素.
表 3~表 5 的结果显示,有的开发人员主要通过决策来参与软件开发.他们在传统的指标体系中被定义为少
改动者、少评论者,和软件缺陷数量的相关性无法确定.但是在考虑了决策者因素后,他们反而因为多决策活动
而成为了软件开发的主要贡献人员.因此,建议未来评审相关的研究考虑决策者和决策活动.
从表 3 看出,一些度量指标和软件缺陷数量至少中等正相关,包括评审次数,评审信息长度,评审时间,代码
改动行数,改动者数量,评论者数量,决策者数量,少改动、少评论、少决策者的比例.这些指标的数值越大,软件
缺陷数量越多.因此,开源项目需要重点观察少改动、少评论、少决策者的比例等指标高的模块,这些高风险模
块往往有更多的软件缺陷.
6 总结与展望
在开源开发中,不同的开发人员的代码水平参差不齐.代码评审是保证开源项目质量的重要方式.本文提出
了一个开源社区评审过程度量体系,包括评审活动指标和人员分布指标.该度量体系综合考虑人员在代码改
动、评审决策和发表评论的活动.然后,本文分析了评审过程与软件缺陷之间的关系.通过与不考虑决策者的度
量指标进行对比分析,验证了本文提出评审过程度量体系的有效性,说明了增加决策者相关指标的必要性.
References:
[1] McIntosh S, Kamei Y, Adams B, et al. The impact of code review coverage and code review participation on software quality. In:
Proc. of the MSR. 2014.
[2] Bird C, Nagappan N, Murphy B. Don’t touch my code! Examining the effects of ownership on software quality. In: Proc. of the
19th SIGSOFT/FSE ACM SIGSOFT Symp. on the Foundations of Software Engineering (FSE-19) and the 13rd European Software
Engineering Conf. (ESEC 2011). 2011.
[3] Thongtanunam P, Mcintosh S, Hassan AE. Revisiting code ownership and its relationship with software quality in the scope of
modern code review. In: Proc. of the 38th IEEE/ACM Int’l Conf. on Software Engineering. 2016.
[4] Dabbish L, Stuart C, Tsay J, et al. Social coding in Github: Transparency and collaboration in an open software repository. In: Proc.
of the ACM 2012 Conf. on Computer Supported Cooperative WorkACM. 2012.
[5] Gousios G, Zaidman A, Storey MA, et al. Work practices and challenges in pull-based development: The integrator’s perspective.
In: Proc. of the ICSE. 2015.
[6] Casalnuovo C, Vasilescu B, Devanbu P. Developer onboarding in GitHub: The role of prior social links and language experience.
In: Proc. of the 2015 10th Joint Meeting on Foundations of Software Engineering. 2015.
[7] Tsay J, Dabbish L, Herbsleb J. Influence of social and technical factors for evaluating contribution in GitHub. In: Proc. of the 36th
Int’l Conf. on Software Engineering. 2014.
[8] Gharehyazie M, Posnett D, Filkov V. Social activities rival patch submission for prediction of developer initiation in oss projects.
In: Proc. of the ICSM. 2013.
[9] Zhou M, Mockus A. What make long term contributors: Willingness and opportunity in OSS community. In: Proc. of the ICSE.
2012.
[10] Jiang J, Feng FL, Lian XL, et al. Long-term active integrator prediction in the evaluation of code contributions. In: Proc. of the
SEKE. 2016.
[11] Zanjani MB, Kagdi H, Bird C. Automatically recommending peer reviewers in modern code review. IEEE Trans. on Software
Engineering, 2016,42(6):530−543.
[12] Gousios G, Pinzger M, van Deursen A. An exploratory study of the pull-based software development model. In: Proc. of the ICSE.
2014.
[13] Xia X, Lo D, Wang XY, et al. Who should review this change? Putting text and file location analyses together for more accurate
recommendations. In: Proc. of the ICSME. 2015.