Refactoring for software maintenance: A Review of the literature
Abstract
One of the techniques to increase the value of the software quality is refactoring - the set of activities for code enhancement through altering inner structure and not altering outer behavior of code. It is a technique to clean-up the source code that decreasing the opportunities of code faults. Refactoring can be defined as one of the most significant practices for maintaining the advanced software systems. It has been indicated by the empirical studies that refactoring has positive effect on maintainability and understandability of the software systems. This study introduces a literature review of 22 researches that study and summarize the influence of refactoring and their effect on the attributes of software quality specially maintainability. Through the review, the study sums the following points: (1) applying refactoring activities will increase the values of some attributes of quality like Understandability and maintainability. (2) There are several factors that affect reconstruction activities, including cohesion, coupling, hiding of information and encapsulation, (3) Refactoring helps to improve the source code without changing the behavior of the program, (4) refactoring activates can be applied many times to the source code.
Keywords
Refactoring approaches, Refactoring tools, Refactoring challenges, Refactoring risks, Refactoring advantages, MaintainabilityMetrics