Better Refactoring Tools for a Better Refactoring Strategy

Refactoring tools can improve the speed and accuracy with which we 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 they do not align with the refactoring strategy preferred by the majority of programmers: floss refactoring. We 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 more usable tools.

[1]  Ron Jeffries,et al.  Extreme Programming Installed , 2000 .

[2]  E. Murphy-Hill,et al.  Breaking the barriers to successful refactoring , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[3]  Andrew P. Black,et al.  Breaking the barriers to successful refactoring: observations and tools for extract method , 2008, ICSE.

[4]  Mik Kersten,et al.  How are Java software developers using the Elipse IDE? , 2006, IEEE Software.

[5]  Andrew P. Black,et al.  High velocity refactorings in Eclipse , 2007, eclipse '07.

[6]  Mika Mäntylä,et al.  Drivers for software refactoring decisions , 2006, ISESE '06.

[7]  Leon Moonen,et al.  Java quality assurance by detecting code smells , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[8]  Zhenchang Xing,et al.  Refactoring Practice: How it is and How it Should be Supported - An Eclipse Case Study , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[9]  Mik Kersten,et al.  How are lava software developers using the eclipse IDE , 2006 .

[10]  Stephan Diehl,et al.  Are refactorings less error-prone than other changes? , 2006, MSR '06.