Comparative analysis of techniques for detecting refactoring opportunities - Aquino, Joseph Adriel P. (Animo Repository, 2009)
Code refactoring, the act of changing the design of code without affecting its functionality, is a relatively new practice in software development. Often, as system development progresses, the actual code deviates from the pre-designated design. Sometimes, there is not even a pre-designated design in the first place. This causes problems especially in code maintenance. To help resolve this, code refactoring can be implemented. However, system developers view code refactoring to be expensive. In light of this, several attempts on automation had been made by various software developers, especially those working on Integrated Development Environments (IDEs). These provided practical means of performing code refactoring. But to date, there is very minimal support for detection of code refactoring opportunities. We believe that to truly automate code refactoring, detection of code refactoring opportunities should be done. There are a few suggested techniques to go about automatic detection. This research aims to perform a comparative analysis of these techniques and objectively measure their efficiency and effectiveness by a predetermined set of criteria.