TY - GEN
T1 - Refactoring Practices in the Context of Modern Code Review
T2 - 43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021
AU - Alomar, Eman Abdullah
AU - Alrubaye, Hussein
AU - Mkaouer, Mohamed Wiem
AU - Ouni, Ali
AU - Kessentini, Marouane
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/5
Y1 - 2021/5
N2 - Modern code review is a common and essential practice employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure conformance with coding standards. During code review, developers may inspect and discuss various changes including 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 activities are being reviewed, perceived, and practiced. This study aims to reveal insights into how reviewers develop a decision about accepting or rejecting a submitted refactoring request, and what makes such review challenging. We present an industrial case study with 24 professional developers at Xerox. Particularly, we study the motivations, documentation practices, challenges, verification, and implications of refactoring activities during code review. Our study delivers several important findings. Our results report the lack of a proper procedure to follow by developers when documenting their refactorings for review. Our survey with reviewers has also revealed several difficulties related to understanding the refactoring intent and implications on the functional and non-functional aspects of the software. In light of our findings, we recommended a procedure to properly document refactoring activities, as part of our survey feedback.
AB - Modern code review is a common and essential practice employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure conformance with coding standards. During code review, developers may inspect and discuss various changes including 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 activities are being reviewed, perceived, and practiced. This study aims to reveal insights into how reviewers develop a decision about accepting or rejecting a submitted refactoring request, and what makes such review challenging. We present an industrial case study with 24 professional developers at Xerox. Particularly, we study the motivations, documentation practices, challenges, verification, and implications of refactoring activities during code review. Our study delivers several important findings. Our results report the lack of a proper procedure to follow by developers when documenting their refactorings for review. Our survey with reviewers has also revealed several difficulties related to understanding the refactoring intent and implications on the functional and non-functional aspects of the software. In light of our findings, we recommended a procedure to properly document refactoring activities, as part of our survey feedback.
KW - Code review
KW - Refactoring
KW - Software quality
UR - http://www.scopus.com/inward/record.url?scp=85115724719&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85115724719&partnerID=8YFLogxK
U2 - 10.1109/ICSE-SEIP52600.2021.00044
DO - 10.1109/ICSE-SEIP52600.2021.00044
M3 - Conference contribution
AN - SCOPUS:85115724719
T3 - Proceedings - International Conference on Software Engineering
SP - 348
EP - 357
BT - Proceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering
Y2 - 25 May 2021 through 28 May 2021
ER -