A Methodology for Impact Evaluation of Refactoring on External Quality Attributes of a Software Design

Raja Sehrab Bashir, Sai Peck Lee, Chong Chun Yung, Khubaib Amjad Alam, Raja Wasim Ahmad · 2017

Refactoring aims at improving software design quality without affecting external behavior. It is commonly believed that refactoring operations always enhance the software quality. However, some recent empirical studies have reported negative or negligible effects of refactoring on certain quality attributes. The actual impact of each refactroing on certain quality attributes may help developers in selecting the most suitable refactoring alternatives. Various work have been proposed in this regard at source code-level. However, fewer studies have assessed the refactoring impact at design-level. In this study, We propose a refactoring impact evaluation method enabling developers to select the suitable refactoring operations based on their impact. Nine small scale case studies have been used to validate the consistency of propose method. The results reveal that move method, extract method, extract class rafactoring operations have improved maintainability, understandability, modifiability, and analyzability in nine case studies. These obeservations are consistent accross multiple case studies, implying that the proposed approach is highly consistent.

Read the paper · More papers on PaperTik