Towards a taxonomy of code review smells

Date
2021-10-10
Advisor
Supervisor
Co-Advisor
Co-Supervisor
Instructor
Source Title
Information and Software Technology
Print ISSN
0950-5849
Electronic ISSN
1873-6025
Publisher
Elsevier
Volume
142
Issue
Pages
1 - 24
Language
English
Type
Article
Journal Title
Journal ISSN
Volume Title
Series
Abstract

Context: Code review is a crucial step of the software development life cycle in order to detect possible problems in source code before merging the changeset to the codebase. Although there is no consensus on a formally defined life cycle of the code review process, many companies and open source software (OSS) communities converge on common rules and best practices. In spite of minor differences in different platforms, the primary purpose of all these rules and practices leads to a faster and more effective code review process. Non-conformance of developers to this process does not only reduce the advantages of the code review but can also introduce waste in later stages of the software development. Objectives: The aim of this study is to provide an empirical understanding of the bad practices followed in the code review process, that are code review (CR) smells. Methods: We first conduct a multivocal literature review in order to gather code review bad practices discussed in white and gray literature. Then, we conduct a targeted survey with 32 experienced software practitioners and perform follow-up interviews in order to get their expert opinion. Based on this process, a taxonomy of code review smells is introduced. To quantitatively demonstrate the existence of these smells, we analyze 226,292 code reviews collected from eight OSS projects. Results: We observe that a considerable number of code review smells exist in all projects with varying degrees of ratios. The empirical results illustrate that 72.2% of the code reviews among eight projects are affected by at least one code review smell. Conclusion: The empirical analysis shows that the OSS projects are substantially affected by the code review smells. The provided taxonomy could provide a foundation for best practices and tool support to detect and avoid code review smells in practice. © 2021

Course
Other identifiers
Book Title
Keywords
Bad practices, Code review smell, Conformance checking, Modern code review, Process debt; Process smell
Citation
Published Version (Please cite this version)