An empirical study to assess the effects of refactoring on software maintainability

Ruchika Malhotra, Anuradha Chug · 2016

Maintenance is the most expensive phase of software and during this process refactoring is performed to improve the code without affecting its external behaviour. This study examines the effects of refactoring on maintainability using five proprietary software systems. Internal quality attributes were measured using design metrics suite whereas external quality attributes such as the level of abstraction, understandability, modifiability, extensibility and reusability were measured through expert opinion. The original versions of software are compared with refactored versions and the changes in quality attributes were mapped to maintainability. The results reveal that refactoring significantly improves the software quality and enhances software life. It was also found that even though refactoring is very tedious and might introduce errors if not implemented with utmost care, it is still advisable to frequently refactor the code to increase maintainability. Results of this study are useful to project managers in identifying the opportunities of refactoring while maintaining a perfect balance between reengineering and over-engineering.

Read the paper · More papers on PaperTik