Expectations, outcomes, and challenges of modern code review

Alberto Bacchelli, Christian Bird

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

491 Citations (Scopus)

Abstract

Code review is a common software engineering practice employed both in open source and industrial contexts. Review today is less formal and more 'lightweight' than the code inspections performed and studied in the 70s and 80s. We empirically explore the motivations, challenges, and outcomes of tool-based code reviews. We observed, interviewed, and surveyed developers and managers and manually classified hundreds of review comments across diverse teams at Microsoft. Our study reveals that while finding defects remains the main motivation for review, reviews are less about defects than expected and instead provide additional benefits such as knowledge transfer, increased team awareness, and creation of alternative solutions to problems. Moreover, we find that code and change understanding is the key aspect of code reviewing and that developers employ a wide range of mechanisms to meet their understanding needs, most of which are not met by current tools. We provide recommendations for practitioners and researchers.

Original languageEnglish
Title of host publicationProceedings of the 35th International Conference on Software Engineering
PublisherIEEE
Pages712-721
Number of pages10
ISBN (Print)9781467330763
DOIs
Publication statusPublished - 2013
Externally publishedYes
Event2013 35th International Conference on Software Engineering, ICSE 2013 - San Francisco, CA, United States
Duration: 18 May 201326 May 2013

Conference

Conference2013 35th International Conference on Software Engineering, ICSE 2013
Country/TerritoryUnited States
CitySan Francisco, CA
Period18/05/1326/05/13

Fingerprint

Dive into the research topics of 'Expectations, outcomes, and challenges of modern code review'. Together they form a unique fingerprint.

Cite this