Confusion in code reviews: reasons, impacts and coping strategies: reasons, Impacts, and Coping Strategies

Felipe Ebert, Fernando Castor, Nicole Novielli, Alexander Serebrenik

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

28 Citations (Scopus)

Abstract

Code review is a software quality assurance practice widely employed in both open source and commercial software projects to detect defects, transfer knowledge and encourage adherence to coding standards. Notwithstanding, code reviews can also delay the incorporation of a code change into a code base, thus slowing down the overall development process. Part of this delay is often a consequence of reviewers not understanding, becoming confused by, or being uncertain about the intention, behavior, or effect of a code change.

We investigate the reasons and impacts of confusion in code reviews, as well as the strategies developers adopt to cope with confusion. We employ a concurrent triangulation strategy to combine the analyses of survey responses and of the code review comments, and build a comprehensive confusion framework structured along the dimensions of the review process, the artifact being reviewed, the developers themselves and the relation between the developer and the artifact. The most frequent reasons for confusion are the missing rationale, discussion of non-functional requirements of the solution, and lack of familiarity with existing code. Developers report that confusion delays the merge decision, decreases review quality, and results in additional discussions. To cope with confusion developers request information, improve familiarity with existing code, and discuss off-line.

Based on the results, we provide a series of implications for tool builders, as well as insights and suggestions for researchers. The results of our work offer empirical justification for the need to improve code review tools to support developers facing confusion.
Original languageEnglish
Title of host publicationSANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering
EditorsEmad Shihab, David Lo, Xinyu Wang
Place of PublicationPiscataway
PublisherInstitute of Electrical and Electronics Engineers
Pages49-60
Number of pages12
ISBN (Electronic)978-1-7281-0591-8
DOIs
Publication statusPublished - 15 Mar 2019
Event26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019 - Hangzhou, China
Duration: 24 Feb 201927 Feb 2019
Conference number: 26

Conference

Conference26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019
Abbreviated titleSANER
CountryChina
CityHangzhou
Period24/02/1927/02/19

Keywords

  • cards sorting.
  • code review
  • confusion
  • survey

Fingerprint

Dive into the research topics of 'Confusion in code reviews: reasons, impacts and coping strategies: reasons, Impacts, and Coping Strategies'. Together they form a unique fingerprint.

Cite this