CSC/ECE 517 Fall 2009/wiki1a 9 DS

From Expertiza_Wiki
Jump to navigation Jump to search

Reasearch in refactoring tools

Refactoring is defined as the technique by which the existing body of the code is restructured by changing the inner structure and without changing its external behavior. The tools which are used to achieve this purpose are commonly known as refactoring tools.

Overview

This deals with the academic underpinnings of refactoring starting from its evolution and the initiatives taken to improve the current generation of refactoring tools. It also throws lights up on the various books and papers on the topic of refactoring and also various conferences and workshops conducted.

Academic Underpinnings

Motivation

The first official thesis on the area of refactoring leads back to 1992 when Bill Opdyke finished his thesis on the topic "Refactoring Object-Oriented Frameworks". Bill Opdyke was working in Bill Laboratories developing electronic switching systems. When he started to pursue his doctoral studies he wanted it to be related to practical business application. That is when he narrowed down on this topic and lead to the official shaping of the cloud refactoring.

The Basic motivation behind the emergence of refactoring was the software re usability, cutting down cost involved in restructuring software later for various use. Thus refactoring leads to software reuse in future.

Though it might appear that refactoring began in research labs it actually emerged on ad-hoc basis when object-oriented programmers came across situations where they felt the need for change in object oriented software. Refactoring actually has its roots way back. Factoring was a key technique in Forth Language from its birth in 70’s. Absence of appropriate syntax made it not possible to extract the best use out of it. Ralph jhonson was the first person to use the name refactoring in print. Along with Bill Opdyke he published a paper on refactoring in 1990.