A Survey of Software Refactoring

A Survey of Software Refactoring

VOL 30, NO. 2, FEBRUARY 2004 | Tom Mens, Member, IEEE, and Tom Tourwé
This paper provides an extensive overview of existing research in the field of software refactoring, comparing and discussing various criteria such as supported refactoring activities, techniques, formalisms, types of software artifacts, tool support considerations, and the impact on the software process. The authors use a running example throughout to illustrate key concepts. The paper is structured into several sections, covering general ideas, specific refactoring activities, formalisms and techniques, types of software artifacts, tool support, and conclusions. It highlights the importance of refactoring in improving software quality, maintainability, and evolution, and discusses the challenges and solutions in different application domains. The paper also explores the role of tool support, including automation, reliability, configurability, and scalability, emphasizing the need for semi-automatic approaches that balance automation with developer control and understanding.This paper provides an extensive overview of existing research in the field of software refactoring, comparing and discussing various criteria such as supported refactoring activities, techniques, formalisms, types of software artifacts, tool support considerations, and the impact on the software process. The authors use a running example throughout to illustrate key concepts. The paper is structured into several sections, covering general ideas, specific refactoring activities, formalisms and techniques, types of software artifacts, tool support, and conclusions. It highlights the importance of refactoring in improving software quality, maintainability, and evolution, and discusses the challenges and solutions in different application domains. The paper also explores the role of tool support, including automation, reliability, configurability, and scalability, emphasizing the need for semi-automatic approaches that balance automation with developer control and understanding.
Reach us at info@study.space