TY - GEN
T1 - Code Review Practices for Refactoring Changes
T2 - 2022 Mining Software Repositories Conference, MSR 2022
AU - Alomar, Eman Abdullah
AU - Chouchen, Moataz
AU - Mkaouer, Mohamed Wiem
AU - Ouni, Ali
N1 - Publisher Copyright:
© 2022 ACM.
PY - 2022
Y1 - 2022
N2 - Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may discuss refactoring activities before merging code changes in the code base. To date, code review has been extensively studied to explore its general challenges, best practices and outcomes, and socio-technical aspects. However, little is known about how refactoring is being reviewed and what developers care about when they review refactored code. Hence, in this work, we present a quantitative and qualitative study to understand what are the main criteria developers rely on to develop a decision about accepting or rejecting a submitted refactored code, and what makes this process challenging. Through a case study of 11,010 refactoring and non-refactoring reviews spread across OpenStack open-source projects, we find that refactoring-related code reviews take significantly longer to be resolved in terms of code review efforts. Moreover, upon performing a thematic analysis on a significant sample of the refactoring code review discussions, we built a comprehensive taxonomy consisting of 28 refactoring review criteria. We envision our findings reaffirming the necessity of developing accurate and efficient tools and techniques that can assist developers in the review process in the presence of refactorings.
AB - Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may discuss refactoring activities before merging code changes in the code base. To date, code review has been extensively studied to explore its general challenges, best practices and outcomes, and socio-technical aspects. However, little is known about how refactoring is being reviewed and what developers care about when they review refactored code. Hence, in this work, we present a quantitative and qualitative study to understand what are the main criteria developers rely on to develop a decision about accepting or rejecting a submitted refactored code, and what makes this process challenging. Through a case study of 11,010 refactoring and non-refactoring reviews spread across OpenStack open-source projects, we find that refactoring-related code reviews take significantly longer to be resolved in terms of code review efforts. Moreover, upon performing a thematic analysis on a significant sample of the refactoring code review discussions, we built a comprehensive taxonomy consisting of 28 refactoring review criteria. We envision our findings reaffirming the necessity of developing accurate and efficient tools and techniques that can assist developers in the review process in the presence of refactorings.
KW - Refactoring
KW - code review
KW - developer perception
KW - software quality
UR - http://www.scopus.com/inward/record.url?scp=85134017734&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85134017734&partnerID=8YFLogxK
U2 - 10.1145/3524842.3527932
DO - 10.1145/3524842.3527932
M3 - Conference contribution
AN - SCOPUS:85134017734
T3 - Proceedings - 2022 Mining Software Repositories Conference, MSR 2022
SP - 689
EP - 701
BT - Proceedings - 2022 Mining Software Repositories Conference, MSR 2022
Y2 - 23 May 2022 through 24 May 2022
ER -