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 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 analyze226,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.
Fri 23 SepDisplayed time zone: Athens change
11:00 - 12:30 | Session 4B - Code Review & DefectsESEM Technical Papers / ESEM Emerging Results and Vision Papers / ESEM Journal-First Papers at Sonck Chair(s): Per Runeson Lund University | ||
11:00 20mFull-paper | To What Extent Cognitive-Driven Development Improves Code Readability? ESEM Technical Papers Leonardo Barbosa UFPA, Victor Santiago UFPA, Alberto de Souza Zup Innovation, Gustavo Pinto Federal University of Pará (UFPA) and Zup Innovation | ||
11:20 20mFull-paper | Only Time Will Tell: Modelling Information Diffusion in Code Review with Time-Varying Hypergraphs ESEM Technical Papers Michael Dorner Blekinge Institute of Technology, Darja Šmite Blekinge Institute of Technology, Daniel Mendez Blekinge Institute of Technology, Krzysztof Wnuk Blekinge Institute of Technology , Jacek Czerwonka Developer Services, Microsoft DOI Pre-print | ||
11:40 20mFull-paper | MEG: Multi-objective Ensemble Generation for Software Defect Prediction ESEM Technical Papers Rebecca Moussa University College London, Giovani Guizzo University College London, Federica Sarro University College London | ||
12:00 15mFull-paper | Towards a taxonomy of code review smells ESEM Journal-First Papers | ||
12:15 15mVision and Emerging Results | Example Driven Code Review Explanation ESEM Emerging Results and Vision Papers |