Do explicit review strategies improve code review performance? Towards understanding the role of cognitive load

Research output: Contribution to journalArticleResearchpeer review

Authors

  • Pavlína Wurzel Gonçalves
  • Enrico Fregnan
  • Tobias Baum
  • Kurt Schneider
  • Alberto Bacchelli

Research Organisations

External Research Organisations

  • Universität Zürich (UZH)
View graph of relations

Details

Original languageEnglish
Article number99
JournalEmpirical software engineering
Volume27
Issue number4
Early online date7 May 2022
Publication statusPublished - Jul 2022

Abstract

Code review is an important process in software engineering – yet, a very expensive one. Therefore, understanding code review and how to improve reviewers’ performance is paramount. In the study presented in this work, we test whether providing developers with explicit reviewing strategies improves their review effectiveness and efficiency. Moreover, we verify if review guidance lowers developers’ cognitive load. We employ an experimental design where professional developers have to perform three code review tasks. Participants are assigned to one of three treatments: ad hoc reviewing, checklist, and guided checklist. The guided checklist was developed to provide an explicit reviewing strategy to developers. While the checklist is a simple form of signaling (a method to reduce cognitive load), the guided checklist incorporates further methods to lower cognitive demands of the task such as segmenting and weeding. The majority of the participants are novice reviewers with low or no code review experience. Our results indicate that the guided checklist is a more effective aid for a simple review,while the checklist supports reviewers’ efficiency and effectiveness in a complex task. However, we did not identify a strong relationship between the guidance provided and code review performance. The checklist has the potential to lower developers’ cognitive load, but higher cognitive load led to better performance possibly due to the generally low effectiveness and efficiency of the study participants. Data and materials: https://doi.org/10.5281/zenodo.5653341. Registered report: https://doi.org/10.17605/OSF.IO/5FPTJ.

Keywords

    Checklist-based reading, Code review, Cognitive load, Reviewing strategies

ASJC Scopus subject areas

Cite this

Do explicit review strategies improve code review performance? Towards understanding the role of cognitive load. / Gonçalves, Pavlína Wurzel; Fregnan, Enrico; Baum, Tobias et al.
In: Empirical software engineering, Vol. 27, No. 4, 99, 07.2022.

Research output: Contribution to journalArticleResearchpeer review

Gonçalves PW, Fregnan E, Baum T, Schneider K, Bacchelli A. Do explicit review strategies improve code review performance? Towards understanding the role of cognitive load. Empirical software engineering. 2022 Jul;27(4):99. Epub 2022 May 7. doi: 10.1007/s10664-022-10123-8
Gonçalves, Pavlína Wurzel ; Fregnan, Enrico ; Baum, Tobias et al. / Do explicit review strategies improve code review performance? Towards understanding the role of cognitive load. In: Empirical software engineering. 2022 ; Vol. 27, No. 4.
Download
@article{fc164faca0c245389e5f81304cd553c9,
title = "Do explicit review strategies improve code review performance?: Towards understanding the role of cognitive load",
abstract = "Code review is an important process in software engineering – yet, a very expensive one. Therefore, understanding code review and how to improve reviewers{\textquoteright} performance is paramount. In the study presented in this work, we test whether providing developers with explicit reviewing strategies improves their review effectiveness and efficiency. Moreover, we verify if review guidance lowers developers{\textquoteright} cognitive load. We employ an experimental design where professional developers have to perform three code review tasks. Participants are assigned to one of three treatments: ad hoc reviewing, checklist, and guided checklist. The guided checklist was developed to provide an explicit reviewing strategy to developers. While the checklist is a simple form of signaling (a method to reduce cognitive load), the guided checklist incorporates further methods to lower cognitive demands of the task such as segmenting and weeding. The majority of the participants are novice reviewers with low or no code review experience. Our results indicate that the guided checklist is a more effective aid for a simple review,while the checklist supports reviewers{\textquoteright} efficiency and effectiveness in a complex task. However, we did not identify a strong relationship between the guidance provided and code review performance. The checklist has the potential to lower developers{\textquoteright} cognitive load, but higher cognitive load led to better performance possibly due to the generally low effectiveness and efficiency of the study participants. Data and materials: https://doi.org/10.5281/zenodo.5653341. Registered report: https://doi.org/10.17605/OSF.IO/5FPTJ.",
keywords = "Checklist-based reading, Code review, Cognitive load, Reviewing strategies",
author = "Gon{\c c}alves, {Pavl{\'i}na Wurzel} and Enrico Fregnan and Tobias Baum and Kurt Schneider and Alberto Bacchelli",
note = "Funding Information: Open access funding provided by University of Zurich. P. Wurzel Gon{\c c}alves, E. Fregnan, and A. Bacchelli gratefully acknowledge the support of the Swiss National Science Foundation through the SNF Projects No. PP00P2_170529. ",
year = "2022",
month = jul,
doi = "10.1007/s10664-022-10123-8",
language = "English",
volume = "27",
journal = "Empirical software engineering",
issn = "1382-3256",
publisher = "Springer Netherlands",
number = "4",

}

Download

TY - JOUR

T1 - Do explicit review strategies improve code review performance?

T2 - Towards understanding the role of cognitive load

AU - Gonçalves, Pavlína Wurzel

AU - Fregnan, Enrico

AU - Baum, Tobias

AU - Schneider, Kurt

AU - Bacchelli, Alberto

N1 - Funding Information: Open access funding provided by University of Zurich. P. Wurzel Gonçalves, E. Fregnan, and A. Bacchelli gratefully acknowledge the support of the Swiss National Science Foundation through the SNF Projects No. PP00P2_170529.

PY - 2022/7

Y1 - 2022/7

N2 - Code review is an important process in software engineering – yet, a very expensive one. Therefore, understanding code review and how to improve reviewers’ performance is paramount. In the study presented in this work, we test whether providing developers with explicit reviewing strategies improves their review effectiveness and efficiency. Moreover, we verify if review guidance lowers developers’ cognitive load. We employ an experimental design where professional developers have to perform three code review tasks. Participants are assigned to one of three treatments: ad hoc reviewing, checklist, and guided checklist. The guided checklist was developed to provide an explicit reviewing strategy to developers. While the checklist is a simple form of signaling (a method to reduce cognitive load), the guided checklist incorporates further methods to lower cognitive demands of the task such as segmenting and weeding. The majority of the participants are novice reviewers with low or no code review experience. Our results indicate that the guided checklist is a more effective aid for a simple review,while the checklist supports reviewers’ efficiency and effectiveness in a complex task. However, we did not identify a strong relationship between the guidance provided and code review performance. The checklist has the potential to lower developers’ cognitive load, but higher cognitive load led to better performance possibly due to the generally low effectiveness and efficiency of the study participants. Data and materials: https://doi.org/10.5281/zenodo.5653341. Registered report: https://doi.org/10.17605/OSF.IO/5FPTJ.

AB - Code review is an important process in software engineering – yet, a very expensive one. Therefore, understanding code review and how to improve reviewers’ performance is paramount. In the study presented in this work, we test whether providing developers with explicit reviewing strategies improves their review effectiveness and efficiency. Moreover, we verify if review guidance lowers developers’ cognitive load. We employ an experimental design where professional developers have to perform three code review tasks. Participants are assigned to one of three treatments: ad hoc reviewing, checklist, and guided checklist. The guided checklist was developed to provide an explicit reviewing strategy to developers. While the checklist is a simple form of signaling (a method to reduce cognitive load), the guided checklist incorporates further methods to lower cognitive demands of the task such as segmenting and weeding. The majority of the participants are novice reviewers with low or no code review experience. Our results indicate that the guided checklist is a more effective aid for a simple review,while the checklist supports reviewers’ efficiency and effectiveness in a complex task. However, we did not identify a strong relationship between the guidance provided and code review performance. The checklist has the potential to lower developers’ cognitive load, but higher cognitive load led to better performance possibly due to the generally low effectiveness and efficiency of the study participants. Data and materials: https://doi.org/10.5281/zenodo.5653341. Registered report: https://doi.org/10.17605/OSF.IO/5FPTJ.

KW - Checklist-based reading

KW - Code review

KW - Cognitive load

KW - Reviewing strategies

UR - http://www.scopus.com/inward/record.url?scp=85129584432&partnerID=8YFLogxK

U2 - 10.1007/s10664-022-10123-8

DO - 10.1007/s10664-022-10123-8

M3 - Article

AN - SCOPUS:85129584432

VL - 27

JO - Empirical software engineering

JF - Empirical software engineering

SN - 1382-3256

IS - 4

M1 - 99

ER -

By the same author(s)