A Systematic Literature Review and Taxonomy of Modern Code Review
This work provides a structured overview for researchers and practitioners in software engineering to identify gaps and guide future work in MCR, but it is incremental as it synthesizes existing research rather than introducing new methods.
The authors tackled the problem of understanding the fragmented body of knowledge on Modern Code Review (MCR) by conducting a systematic literature review of 139 papers, resulting in a taxonomy that categorizes studies into foundational, proposals, and evaluations, with foundational studies being the most common.
Modern Code Review (MCR) is a widely known practice of software quality assurance. However, the existing body of knowledge of MCR is currently not understood as a whole. Objective: Our goal is to identify the state of the art on MCR, providing a structured overview and an in-depth analysis of the research done in this field. Method: We performed a systematic literature review, selecting publications from four digital libraries. Results: A total of 139 papers were selected and analyzed in three main categories. Foundational studies are those that analyze existing or collected data from the adoption of MCR. Proposals consist of techniques and tools to support MCR, while evaluations are studies to assess an approach or compare a set of them. Conclusion: The most represented category is foundational studies, mainly aiming to understand the motivations for adopting MCR, its challenges and benefits, and which influence factors lead to which MCR outcomes. The most common types of proposals are code reviewer recommender and support to code checking. Evaluations of MCR-supporting approaches have been done mostly offline, without involving human subjects. Five main research gaps have been identified, which point out directions for future work in the area.