Litcius/Paper detail

Anti-patterns in Modern Code Review: Symptoms and Prevalence

Moataz Chouchen, Ali Ouni, Raula Gaikovina Kula, Dong Wang, Patanamon Thongtanunam, Mohamed Wiem Mkaouer, Kenichi Matsumoto

202139 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Code reviewCodebaseComputer scienceCode (set theory)Software engineeringProcess (computing)Code smellSoftware qualitySoftwareData scienceTask (project management)Software developmentProgramming languageEngineeringSystems engineeringSet (abstract data type)Software Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research
Anti-patterns in Modern Code Review: Symptoms and Prevalence | Litcius