Understanding Refactoring Tactics and their Effect on Software Quality

Mansi Agnihotri, Anuradha Chug · 2022 12th International Conference on Cloud Computing, Data Science & Engineering (Confluence) · 2022

Refactoring is a widely used technique that removes the flaws of the system and improves its quality. It is often practiced to change the inner framework of the code while preserving its functionality. Software metrics represent the quantitative aspect of software quality. They play a pivotal role in understanding the structural design quality of the code. In this study, different releases of two open-source projects, i. e., Java-apns and Thumbnailator have been explored to investigate the effect of refactoring tactics-root canal and floss refactorings, on the system’s quality. Root canal refactorings are pure refactorings that aim to remove the defects from the code. Whereas, floss refactorings intend to maintain the code’s health and are applied in conjunction with other program changes. Six software metrics belonging to the widely used CK metric suite and five prominent refactoring types were selected for the evaluation purpose. The findings of the study show that developers perform floss refactoring more than root canal refactorings. Nearly, 73% of the total refactoring operations were categorized as floss. Also, root canal refactorings perform better in improving the software quality than floss refactorings. Nearly, 93.33% of the root canal refactorings improved the quality of the selected metrics. The current study helps in exploring the association between the two refactoring tactics and the design quality of the system.

Read the paper · More papers on PaperTik