2008IEEE SoftwareOpen access

Refactoring Tools: Fitness for Purpose

Emerson Murphy-Hill, Andrew P. Black

Open full text 154 citations

Abstract

Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.

Open-access reader

About this research paper

What this paper is about

Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.

Why it matters

OpenAlex reports 154 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.

Key concepts: Code refactoring, Computer science, Software engineering, Programmer, Process (computing), Software, Programming language, Software maintenance

Related papers

Back to paper searchBrowse research topicsOriginal source
Refactoring Tools: Fitness for Purpose — Research Paper | ScholarLens