CSC/ECE 517 Fall 2009/wiki1a 9 mk: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 10: Line 10:
==Fundamentals==
==Fundamentals==


Refactoring is primarily focused on the definitions and mechanism of refactoring, and  
The fundamental work is primarily focused on the definitions and mechanism of refactoring, and  
proving their correctness. Refactoring means that the behaviour/functionality of the program does  
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  
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  
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  
is a general set of operations. Hence it comes with preconditions which specifies under what circumstances  
refactoring can be done, alos with demonstrations that the dependency graphs are unchanged even after the  
refactoring can be performed, also with the conformation that the dependency graphs are unchanged even after the  
refactoring is performed.
refactoring is performed.



Revision as of 19:39, 6 September 2009

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

The fundamental work 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 with preconditions which specifies under what circumstances refactoring can be performed, also with the conformation 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

.NET Refactoring Tool, Visual Studio IDE

Academic Underpinning

Improvement for Current Refactoring Tools

Conclusion

See Also

References