What makes a code review useful to OpenDev developers? An empirical investigation

What makes a code review useful to OpenDev developers? An empirical investigation
复制标题

DOI:
10.1007/s10664-023-10411-x
复制
发表时间:
2023-02
影响因子:
4.1
通讯作者:
Asif Kamal Turzo;Amiangshu Bosu
Asif Kamal Turzo;Amiangshu Bosu
中科院分区:
计算机科学2区
文献类型:
--
作者:
Asif Kamal Turzo;Amiangshu Bosu

文献摘要

相似文献

背景由于大量的努力,即使是代码评审(CR)有效性的微小改进也可以为软件开发组织带来显著的节省。目标本研究旨在更好地理解代码评审注释对OSS开发人员有用的原因,代码评审注释对他们有用的程度,以及各种上下文和参与者相关因素如何影响其有用程度。方法为此,我们进行了一项分三个阶段的混合方法研究。我们从OpenDev Nova项目中随机选择了2,500条CR注释,并手动对这些注释进行了分类。我们设计了一项针对OpenDev开发人员的调查,以更好地了解他们对有用的CRS的看法。结合我们的调查获得的分数和我们手动标记的数据集,我们训练了两个回归模型-一个用来识别影响CR评论有用性的因素,另一个用来找出比其他因素更有可能识别“功能性”缺陷的因素。结果我们的研究结果表明,CR评论的有用性不仅取决于它的技术贡献,如缺陷发现或质量改进提示,还取决于它的语言特征,如可理解性和礼貌。虽然审阅者的编码经验与CR有用性正相关,但相互评论的数量、文件中的评论量、添加/修改的总行数和CR间隔具有相反的关联。虽然被审查文件的作者和审阅经历一直是审阅者推荐系统最受欢迎的属性,但我们没有发现这些属性与CR有用性有任何显著的关联。结论我们建议不要在两个人之间频繁地进行代码审查关联,因为这种关联可能会降低CR的有用性。我们还建议以建设性和感同身受的语气撰写CR评论。由于我们的一些结果与先前的研究有所不同,我们建议进行更多的研究,以确定特定于上下文的属性,以建立评论者推荐模型。
ContextDue to the association of significant efforts, even a minor improvement in the effectiveness of Code Reviews(CR) can incur significant savings for a software development organization.ObjectiveThis study aimsto develop a finer grain understanding of what makes a code review comment useful to OSS developers, to what extent a code review comment is considered useful to them, and how various contextual and participant-related factors influence its degree of usefulness.MethodOn this goal, we have conducted a three-stage mixed-method study. We randomly selected 2,500 CR comments from the OpenDev Nova project and manually categorized the comments. We designed a survey of OpenDev developers to better understand their perspectives on useful CRs. Combining our survey-obtained scores with our manually labeled dataset, we trained two regression models - one to identify factors that influence the usefulness of CR comments and the other to identify factors that improve the odds of ‘Functional’ defect identification over the others.ResultsThe results of our study suggest that a CR comment’s usefulness is dictated not only by its technical contributions, such as defect findings or quality improvement tips but also by its linguistic characteristics, such as comprehensibility and politeness. While a reviewer’s coding experience is positively associated with CR usefulness, the number of mutual reviews, comment volume in a file, the total number of lines added /modified, and CR interval have the opposite associations. While authorship and reviewership experiences for the files under review have been the most popular attributes for reviewer recommendation systems, we do not find any significant association of those attributes with CR usefulness.ConclusionWe recommend discouraging frequent code review associations between two individuals as such associations may decrease CR usefulness. We also recommend authoring CR comments in a constructive and empathetic tone. As several of our results deviate from prior studies, we recommend more investigations to identify context-specific attributes to build reviewer recommendation models.