This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Refactoring Tools: Fitness for Purpose
Sept.-Oct. 2008 (vol. 25 no. 5)
pp. 38-44
Emerson Murphy-Hill, Portland State University
Andrew P. Black, Portland State University
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.

1. W.F. Opdyke and R.E. Johnson, "Refactoring: An Aid in Designing Application Frameworks and Evolving Object-Oriented Systems," Proc. 1990 Symp. Object-Oriented Programming Emphasizing Practical Applications, (SOOPPA90), ACM Press, 1990.
2. M. Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999.
3. Z. Xing and E. Stroulia, "Refactoring Practice: How It Is and How It Should Be Supported—An Eclipse Case Study," Proc. 22nd IEEE Int'l Conf. Software Maintenance (ICSM 06), IEEE CS Press, 2006, pp. 458–468.
4. G.C. Murphy, M. Kersten, and L. Findlater, "How Are Java Software Developers Using the Eclipse IDE?" IEEE Software, vol. 23, no. 4, 2006, pp. 76–83.
5. J. Shore, "Design Debt," Software Profitability Newsletter, Feb. 2004; http://jamesshore.com/Articles/Business/ Software%20Profitability%20NewsletterDesign%20Debt.html .
6. E. Murphy-Hill and A.P. Black, "High Velocity Refactorings in Eclipse," Proc. Eclipse Technology Exchange Workshop (eTX 07) at OOPSLA2007, ACM Press, 2007, pp. 1–5.
7. E. Murphy-Hill and A.P. Black, "Breaking the Barriers to Successful Refactoring: Observations and Tools for Extract Method," Proc. Int'l Conf. Software Eng. (ICSE 08), IEEE CS Press, 2008, pp. 421–430.
1. E. Murphy-Hill and A.P. Black, "Why Don't People Use Refactoring Tools?" Proc. 1st ECOOPWorkshop Refactoring Tools, tech. report, Technical Univ. of Berlin, 2007, pp. 61–62.
2. E. Murphy-Hill and A.P. Black, "Breaking the Barriers to Successful Refactoring: Observations and Tools for Extract Method," Proc. 30th Int'l Conf. Software Eng. (ICSE 08), IEEE CS Press, 2008, pp. 421–430.
3. M.V. Mäntylä and C. Lassenius, "Drivers for Software Refactoring Decisions," Proc. 2006 ACM/IEEE Int'l Symp. Empirical Software Eng. (ISESE06), ACM Press, 2006, pp. 297–306.
4. G.C. Murphy, M. Kersten, and L. Findlater, "How Are Java Software Developers Using the Eclipse IDE?" IEEE Software, vol. 23, no. 4, 2006, pp. 76–83.

Index Terms:
keywords: refactoring, software development, software tools
Citation:
Emerson Murphy-Hill, Andrew P. Black, "Refactoring Tools: Fitness for Purpose," IEEE Software, vol. 25, no. 5, pp. 38-44, Sept.-Oct. 2008, doi:10.1109/MS.2008.123
Usage of this product signifies your acceptance of the Terms of Use.