An Investigation into the Characteristics of Methods for Extract Method Refactoring

" Extract Method " is a refactoring pattern that extracts a part of an existing method as a new method. Although extract method refactoring is an effective way to decompose long and non-cohesive methods in general, how developers choose methods for " Extract Method " refactoring is still unexamined. For supporting this refactoring, the investigation of it is neccessary. In this study, we investigated the differences of the size and cohesion of methods between methods for this refactoring and general methods in open source software. The result shows significant deliverances in the most cases.

[1]  Stas Negara,et al.  Use, disuse, and misuse of automated refactorings , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[2]  Alexander Chatzigeorgiou,et al.  Identification of extract method refactoring opportunities for the decomposition of methods , 2011, J. Syst. Softw..

[3]  Andrew P. Black,et al.  How we refactor, and how we know it , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[4]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

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

[6]  Linda M. Ott,et al.  Slice based metrics for estimating cohesion , 1993, [1993] Proceedings First International Software Metrics Symposium.

[7]  M. Fowler Refactoring , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.