Header

UZH-Logo

Maintenance Infos

Expectations, outcomes, and challenges of modern code review


Bacchelli, Alberto; Bird, Christian (2013). Expectations, outcomes, and challenges of modern code review. In: 35th IEEE/ACM International Conference on Software Engineering, San Francisco, CA, USA, 18 June 2013 - 26 June 2013. IEEE, 712-721.

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.

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.

Statistics

Citations

Dimensions.ai Metrics

523 citations in Scopus®
Google Scholar™

Altmetrics

Downloads

292 downloads since deposited on 26 Jan 2021
112 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Conference or Workshop Item (Paper), refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Scopus Subject Areas:Physical Sciences > Software
Scope:Discipline-based scholarship (basic research)
Language:English
Event End Date:26 June 2013
Deposited On:26 Jan 2021 11:03
Last Modified:06 Mar 2024 14:33
Publisher:IEEE
ISBN:978-1-4673-3073-2
OA Status:Green
Publisher DOI:https://doi.org/10.1109/ICSE.2013.6606617
Other Identification Number:merlin-id:20262
  • Content: Accepted Version