State of Refactoring Adoption: Better Understanding Developer Perception of Refactoring

06/09/2023
by   Eman Abdullah AlOmar, et al.
0

We aim to explore how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring (SAR), which indicates developers' documentation of their refactoring activities. SAR is crucial in understanding various aspects of refactoring, including the motivation, procedure, and consequences of the performed code change. After that, we propose an approach to identify whether a commit describes developer-related refactoring events to classify them according to the refactoring common quality improvement categories. To complement this goal, we aim to reveal insights into how reviewers decide to accept or reject a submitted refactoring request and what makes such a review challenging.Our SAR taxonomy and model can work with refactoring detectors to report any early inconsistency between refactoring types and their documentation. They can serve as a solid background for various empirical investigations. Our survey with code reviewers has 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 from the industrial case study, we recommended a procedure to properly document refactoring activities, as part of our survey feedback.

READ FULL TEXT
research
02/10/2021

Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox

Modern code review is a common and essential practice employed in both i...
research
09/19/2020

Toward the Automatic Classification of Self-Affirmed Refactoring

The concept of Self-Affirmed Refactoring (SAR) was introduced to explore...
research
07/14/2021

Reel Life vs. Real Life: How Software Developers Share Their Daily Life through Vlogs

Software developers are turning to vlogs (video blogs) to share what a d...
research
02/22/2023

What Makes a Code Review Useful to OpenDev Developers? An Empirical Investigation

Context: Due to the association of significant efforts, even a minor imp...
research
09/27/2019

Technical Debt and Waste in Non-Functional Requirements Documentation: An Exploratory Study

Background: To adequately attend to non-functional requirements (NFRs), ...
research
09/23/2021

Behind the Scenes: On the Relationship Between Developer Experience and Refactoring

Refactoring is widely recognized as one of the efficient techniques to m...
research
10/28/2022

Let's Go to the Whiteboard (Again):Perceptions from Software Architects on Whiteboard Architecture Meetings

The whiteboard plays a crucial role in the day-to-day lives of software ...

Please sign up or login with your details

Forgot password? Click here to reset