CSC/ECE 517 Fall 2009/wiki1a 9 mk
Research in Refactoring Tools
Refactoring
Refactoring is the process of modifying existing source codebase in a structured and incremental way while preserving its external behavior. This process preserves the functionality of the program without introducing new bugs. Refactoring also promotes reuse of the existing codebase for other purposes thus increasing code reusability.
Fundamentals
Refactoring is primarily focused on the definitions and mechanism of refactoring, and proving their correctness. Refactoring means that the behaviour/functionality of the program does not change and therefore any program which meets its specifications before refactoring will continue to meet those specifications even afterwards. Refactoring can be done on any codebase and it is a general set of operations. Hence it comes witha precondition which specify under what circumstances refactoring can be done, alos with demonstrations that the dependency graphs are unchanged even after the refactoring is performed.
Current Automated Refactoring Tools
Features of some Refactoring Tools
Java Refactoring Tool, Eclipse
Ruby Refactoring Tool, Aptana
hi