Towards debiasing code review support
Tobias Jetzen, Xavier Devroey, Nicolas Matton, Benoît Vanderose
TL;DR
The paper addresses cognitive biases, specifically confirmation bias and decision fatigue, in code review and proposes a developer-centered design approach to debiasing. It develops iterative HTML prototypes, conducts two usability tests, and evaluates with the User Experience Questionnaire to identify effective techniques like Advice, pre-structured Form, and Guide, culminating in a final prototype that combines multiple techniques. The study offers a first design-oriented exploration of debiasing code review, reports qualitative and preliminary quantitative usability findings, and provides replication materials for broader validation. Its significance lies in outlining practical, tool-integrated interventions that could improve the objectivity and thoroughness of code reviews and informing future, broader evaluations across more biases and real-world settings.
Abstract
Cognitive biases appear during code review. They significantly impact the creation of feedback and how it is interpreted by developers. These biases can lead to illogical reasoning and decision-making, violating one of the main hypotheses supporting code review: developers' accurate and objective code evaluation. This paper explores harmful cases caused by cognitive biases during code review and potential solutions to avoid such cases or mitigate their effects. In particular, we design several prototypes covering confirmation bias and decision fatigue. We rely on a developer-centered design approach by conducting usability tests and validating the prototype with a user experience questionnaire (UEQ) and participants' feedback. We show that some techniques could be implemented in existing code review tools as they are well accepted by reviewers and help prevent behavior detrimental to code review. This work provides a solid first approach to treating cognitive bias in code review.
