TY - GEN
T1 - Anti-patterns in Modern Code Review
T2 - 28th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021
AU - Chouchen, Moataz
AU - Ouni, Ali
AU - Kula, Raula Gaikovina
AU - Wang, Dong
AU - Thongtanunam, Patanamon
AU - Mkaouer, Mohamed Wiem
AU - Matsumoto, Kenichi
N1 - Funding Information:
Acknowledgments. This work has been supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) discovery grant RGPIN-2018-05960, JSPS KAK-ENHI Grant Numbers 18H04094, 20K19774, and 20H05706. P. Thongtanunam was partially supported by the Australian Research Council’s Discovery Early Career Researcher Award (DECRA) funding scheme (DE210101091).
Publisher Copyright:
© 2021 IEEE.
PY - 2021/3
Y1 - 2021/3
N2 - Modern code review (MCR) is now broadly adopted as an established and effective software quality assurance practice, with an increasing number of open-source as well as commercial software projects identifying code review as a crucial practice. During the MCR process, developers review, provide constructive feedback, and/or critique each others' patches before a code change is merged into the codebase. Nevertheless, code review is basically a human task that involves technical, personal and social aspects. Existing literature hint the existence of poor reviewing practices i.e., anti-patterns, that may contribute to a tense reviewing culture, degradation of software quality, slow down integration, and may affect the overall sustainability of the project. To better understand these practices, we present in this paper the concept of Modern Code Review Anti-patterns (MCRA) and take a first step to define a catalog that enumerates common poor code review practices. In detail we explore and characterize MCRA symptoms, causes, and impacts. We also conduct a series of preliminary experiments to investigate the prevalence and co-occurrences of such anti-patterns on a random sample of 100 code reviews from various OpenStack projects.
AB - Modern code review (MCR) is now broadly adopted as an established and effective software quality assurance practice, with an increasing number of open-source as well as commercial software projects identifying code review as a crucial practice. During the MCR process, developers review, provide constructive feedback, and/or critique each others' patches before a code change is merged into the codebase. Nevertheless, code review is basically a human task that involves technical, personal and social aspects. Existing literature hint the existence of poor reviewing practices i.e., anti-patterns, that may contribute to a tense reviewing culture, degradation of software quality, slow down integration, and may affect the overall sustainability of the project. To better understand these practices, we present in this paper the concept of Modern Code Review Anti-patterns (MCRA) and take a first step to define a catalog that enumerates common poor code review practices. In detail we explore and characterize MCRA symptoms, causes, and impacts. We also conduct a series of preliminary experiments to investigate the prevalence and co-occurrences of such anti-patterns on a random sample of 100 code reviews from various OpenStack projects.
UR - http://www.scopus.com/inward/record.url?scp=85106638085&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85106638085&partnerID=8YFLogxK
U2 - 10.1109/SANER50967.2021.00060
DO - 10.1109/SANER50967.2021.00060
M3 - Conference contribution
AN - SCOPUS:85106638085
T3 - Proceedings - 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021
SP - 531
EP - 535
BT - Proceedings - 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 9 March 2021 through 12 March 2021
ER -