arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2302.11686cs.SE
收藏

什么使得代码评审对OpenDev开发者有用?一项实证调查

What Makes a Code Review Useful to OpenDev Developers? An Empirical Investigation

Asif Kamal Turzo, Amiangshu Bosu

AI总结:

本研究通过混合方法调查OpenDev项目中代码评审评论的有用性,发现其受技术贡献和语言特征影响,评审经验正相关,而评审数量、文件评论量、行数及间隔负相关。

摘要:

背景:由于代码评审(CR)与大量努力相关联,即使代码评审有效性有微小改进,也能为软件开发组织带来显著的节省。目的:本研究旨在更细粒度地理解什么使得代码评审评论对开源软件(OSS)开发者有用,代码评审评论在多大程度上被认为对开发者有用,以及各种上下文和参与者相关因素如何影响其有用性水平。方法:为实现这一目标,我们进行了一项三阶段混合方法研究。我们从OpenDev Nova项目中随机选择了2,500条代码评审评论,并手动对评论进行分类。我们设计了一项针对OpenDev开发者的调查,以更好地理解他们对有用代码评审的看法。将调查获得的评分与手动标注的数据集相结合,我们训练了两个回归模型——一个用于识别影响代码评审评论有用性的因素,另一个用于识别提高‘功能性’缺陷识别相对于其他缺陷识别几率的因素。主要发现:我们的研究结果表明,代码评审评论的有用性不仅由其技术贡献(如缺陷发现或质量改进建议)决定,还由其语言特征(如可理解性和礼貌性)决定。虽然评审者的编码经验与代码评审有用性正相关,但相互评审的数量、文件中评论的数量、添加/修改的总行数以及代码评审间隔则具有相反的关联。虽然被评审文件的作者和评审者经验一直是评审者推荐系统中最受欢迎的属性,但我们未发现这些属性与代码评审有用性之间存在显著关联。

英文摘要:

Context: Due 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. Aim: This study aims to 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 usefulness level. Method: On 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. Key findings: The 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 positively associates with CR usefulness, the number of mutual reviews, comment volume in a file, the total number of lines added /modified, and CR interval has 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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑