A Survey on Modern Code Review: Progresses, Challenges and Opportunities

Zezhou Yang,Cuiyun Gao,Zhaoqiang Guo,Zhenhao Li,Kui Liu,Xin Xia,Yuming Zhou
2024-05-28
Abstract:Over the past decade, modern code review (MCR) has been deemed as a crucial practice of software quality assurance, which is applied to improve software quality and transfer development knowledge within a software team. Despite its importance, MCR is often a complicated and time-consuming activity for practitioners. In recent years, many studies that are dedicated to the comprehension and the improvement of MCR have been explored so that the MCR activity can be carried out more conveniently and efficiently. To provide researchers and practitioners a clear understanding of the current research status on MCR, this paper conducts a systematic literature review of the past years. Given the collected 231 surveyed papers, this paper makes the following five contributions: First, we analyze the research trends of related MCR studies. Second, we provide a taxonomy for the current MCR, encompassing both Improvement Techniques and Understanding Studies. Third, we present the concrete research progress of each novel MCR methodology and prototype tool. Fourth, we exploit the main empirical insights from empirical study and user study that are helpful to improve MCR. Finally, we sum up unsolved challenges and outline several possible research opportunities in the future.
Software Engineering
What problem does this paper attempt to address?
Based on the provided text content, this paper attempts to solve several key problems in the field of Modern Code Review (MCR): 1. **Research Trend Analysis**: Firstly, the paper analyzes the research trends related to MCR in the past few years, exploring from multiple dimensions such as the publication year, publication venue, main contribution type, authors and their affiliated institutions. This helps to understand the research dynamics and development context in the MCR field. 2. **Research Classification**: Secondly, the paper provides a classification system for MCR research, covering two major categories: improvement techniques and understanding research. This classification is helpful for systematically understanding and organizing existing research results. 3. **Summary of Specific Progress**: The paper details the specific progress of each new MCR methodology and prototype tool, which is very important for understanding the actual application of current technologies. 4. **Empirical Research and User Experience**: The paper also explores the main lessons learned from empirical research and user research, which provide in - depth understanding of the MCR process and practical operation suggestions. 5. **Unsolved Challenges and Future Opportunities**: Finally, the paper summarizes the challenges that have not been solved in existing research and proposes possible directions for future research. This points out the way forward for subsequent researchers. In conclusion, this paper aims to comprehensively summarize and analyze the research status, progress, challenges and future opportunities in the MCR field through a systematic literature review, in order to provide clear guidance and reference for researchers and practitioners.