Empirical Investigation of the Diverse Refactoring Effects on Software Quality: The Role of Refactoring Tools and Software Size
Abdullah Almogahed, Hairulnizam Mahdin, Mazni Binti Omar, Nur Haryani Zakaria, Abdulwadood Mohamed Othman Alawadhi, Samera Obaid Barraood · 2023
Recent research has shown that various refactoring methods have very diverse, often opposing, and contradicting impacts on software quality characteristics. While using refactoring methods to enhance software quality, developers confront difficulties in choosing effective refactoring methods. To date, there is a lack of research that has studied factors that might explain conflicting or divergent findings about the influence of refactoring methods on software quality. As a result, two factors were identified, explored, and fully evaluated in this study: refactoring tools and software size. Four of the most regularly used refactoring methods (Add Parameter, Remove Parameter, Extract Class, and Extract Superclass) in practice were selected and independently implemented in five case studies of varied sizes (small, medium, and large). The results give solid evidence that these factors have a substantial role in determining the diverse impacts of refactoring methods on quality characteristics. These insights may help software engineers understand how to employ refactoring methods to enhance software quality while taking these factors into account. Moreover, the results may provide guidelines for software engineers to apply refactoring methods to enhance the quality of software systems, depending on the optimal situation for employing the refactoring methods.