当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
An exploratory study on confusion in code reviews
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2021-01-27 , DOI: 10.1007/s10664-020-09909-5
Felipe Ebert , Fernando Castor , Nicole Novielli , Alexander Serebrenik

Context

Code review is a widely used technique of systematic examination of code changes which aims at increasing software quality. Code reviews provide several benefits for the project, including finding bugs, knowledge transfer, and assurance of adherence to project guidelines and coding style. However, code reviews have a major cost: they can delay the merge of the code change, and thus, impact the overall development process. This cost can be even higher if developers do not understand something, i.e., when developers face confusion during the code review.

Objective

This paper studies the phenomenon of confusion in code reviews. Understanding confusion is an important starting point to help reducing the cost of code reviews and enhance the effectiveness of this practice, and hence, improve the development process.

Method

We conducted two complementary studies. The first one aimed at identifying the reasons for confusion in code reviews, its impacts, and the coping strategies developers use to deal with it. Then, we surveyed developers to identify the most frequently experienced reasons for confusion, and conducted a systematic mapping study of solutions proposed for those reasons in the scientific literature.

Results

From the first study, we build a framework with 30 reasons for confusion, 14 impacts, and 13 coping strategies. The results of the systematic mapping study shows 38 articles addressing the most frequent reasons for confusion. From those articles, we found 13 different solutions for confusion proposed in the literature, and five impacts were established related to the most frequent reasons for confusion.

Conclusions

Based on the solutions identified in the mapping study, or the lack of them, we propose an actionable guideline for developers on how to cope with confusion during code reviews; we also make several suggestions how tool builders can support code reviews. Additionally, we propose a research agenda for researchers studying code reviews.



中文翻译:

关于代码审查混乱的探索性研究

语境

代码审查是一种广泛使用的系统检查代码更改的技术,旨在提高软件质量。代码审查为项目带来了许多好处,包括发现错误,知识转移以及对项目准则和编码风格的遵守的保证。但是,代码审阅会付出重大代价:它们可能会延迟代码更改的合并,从而影响整个开发过程。如果开发人员不了解某些内容(例如,在代码检查期间开发人员面临混乱),则此成本可能更高。

目的

本文研究了代码审查中的混淆现象。理解混乱是一个重要的起点,可以帮助减少代码审查的成本并提高这种做法的有效性,从而改善开发过程。

方法

我们进行了两项补充研究。第一个旨在确定混淆代码审查的原因,其影响以及开发人员用来应对它的应对策略。然后,我们对开发人员进行了调查,以找出最常遇到的混淆原因,并针对科学文献中针对这些原因提出的解决方案进行了系统映射研究。

结果

从第一项研究开始,我们构建了一个包含30个引起混淆的原因,14个影响和13个应对策略的框架。系统作图研究的结果显示38篇文章解决了最常见的混淆原因。从这些文章中,我们找到了文献中提出的13种不同的混淆解决方案,并建立了与最常见混淆原因相关的五种影响。

结论

根据映射研究中确定的解决方案或缺乏解决方案,我们为开发人员提出了一个可行的指南,以指导开发人员如何在代码审查期间应对混乱;我们还提出了一些建议,说明工具构建者如何支持代码审查。此外,我们为研究代码审查的研究人员提出了研究议程。

更新日期:2021-01-28
down
wechat
bug