skip to main content
research-article

Issues arising from refactoring studies: an experience report

Published: 16 May 2012 Publication History

Abstract

In theory, refactoring should reverse the trend in code decay and many studies have explored the different facets of refactoring (both its trends and characteristics). While much progress has been made in this area, a number of observations about refactoring studies have become evident to us over the past seven years in the time during which we have been undertaking empirical studies in this area. This paper outlines our experiences of the issues that arise with refactoring studies. We outline six of those issues, together forming the set of challenges that are still prevalent in this area. The purpose of the paper is thus to put under the spotlight the real potential benefits of refactoring, but more importantly the challenges that our experiences have raised

References

[1]
JHawk - http://www.virtualmachinery.com/jhawkprod.htm.
[2]
D. Advani, Y. Hassoun and S. Counsell, Extracting refactoring trends from open-source software and a possible solution to the 'related refactoring' conundrum, Proceeedings of ACM Symposium on Applied Computing, Lyon, France.
[3]
B. Biegel, Q. Soetens, W. Hornig, S. Diehl, S. Demeyer, Comparison of Similarity Metrics for Refactoring Detection Proceedings of the 8th Working Conference on Mining Software Repositories (MSR), Hawaii, USA, May, 2011.
[4]
L. Briand, P. Devanbu, and W. Melo, An investigation into coupling measures for C++, in 19th International Conference on Software Engineering, Boston, USA, 1997, pp. 412--421.
[5]
L. Briand, J. Daly, and J. Wust, A unified framework for coupling measurement in object-oriented systems, IEEE Transactions on Soft. Engineering, vol. 25, pp. 91--121, 1999.
[6]
S. Counsell, Y. Hassoun, G. Loizou, R. Najjar: Common refactorings, adependency graph and some code smells: an empirical study of Java OSS. International Symposium on Empirical Software Engineering (ISESE), Rio de Janeiro, pages 288--296.
[7]
S. Counsell, R. M. Hierons, R. Najjar, G. Loizou, Y. Hassoun: The Effectiveness of Refactoring, Based on a Compatibility Testing Taxonomy and a Dependency Graph. TAIC PART 2006: 181--192
[8]
S. Counsell, R.M. Hierons, H. Hamza, S. Black and M. Durrand, Is a Strategy for Code Smell Assessment Long Overdue? Proceedings of ICSE Workshop WETSOM, Cape Town, May 2010.
[9]
S. Demeyer, S. Ducasse and O. Nierstrasz, Finding Refactorings via Change Metrics, Proceedings of Inernational Conference on Objectoriented Programming Systems, Languages and Applications, 2000, pages 166--177, ACM Press.
[10]
R. Johnson, W. Opdyke: Refactoring and Aggregation. ISOTAS 1993: 264--278.
[11]
M. Fowler, Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1999.
[12]
M. Gatrell, S. Counsell, T. Hall, Design Patterns and Change Proneness: A Replication Using Proprietary C# Software. IEEE International Working Conference on Reverse Engineering (WCRE) 2009, pages 160--164.
[13]
H. Hamza, S. Counsell, Is smell eradication due to the length of chains, Proceedings of WSEAS Conference, Malta, 2008.
[14]
S. Henry, and D. Kafura, Software Structure Metrics Based on Information Flow, IEEE Transactions on Software Engineering Volume, Issue 5, Sept. 1981 Page(s): 510--518.
[15]
H. Kegel, F. Steimann: Systematically refactoring inheritance to delegation in Java. ICSE 2008, Leipzig, 431--440.
[16]
T. Mens and T. Tourwe, A Survey of Software Refactoring, IEEE Transactions on Software Engineering, Volume 30, Number 2, February 2004, pp 126--139.
[17]
T. Mens, S. Demeyer, B. Du Bois, H. Stenten, P. Van Gorp: Refactoring: Current Research and Future Trends. Electr. Notes Theor. Comput. Sci. 82(3): 483--499 (2003).
[18]
A. Murgia, M. Marchesi, G. Concas, S. Counsell, S. Swift, J. McFall, The effect of refactoring on fan-in and fan-out. To appear in the Proceedings of CSMR 2012, Szeged, Hungary 2012.
[19]
W. Opdyke. Refactoring Object-Oriented Frameworks. PhD thesis, Univ. Illinois at Urbana-Champaign, 1992.
[20]
K. Prete, N. Rachatasumrit, N. Sudan, M. Kim, Template-based Reconstruction of Complex Refactorings, ICSM '10: Proceedings of the 26th IEEE International Conference on Software Maintenance, 1--10.
[21]
J. Ratzinger, T. Sigmund and P. Vorburger and H. Gall, Mining Software Evolution to Predict Refactoring, International Symposium on Empirical Software Engineering and Measurement, 2007, pages 354--363.
[22]
K. Stroggylos and D. Spinellis, Refactoring-Does It Improve Software Quality?, ICSE International Workshop on Software Quality, International, 2007.
[23]
L. Zhao and J. Hayes. Predicting Classes in Need of Refactoring: An Application of Static Metrics. 2nd International PROMISE Workshop, Philadelphia, Pennsylvania USA (co-located with the IEEE Conference on Software Maintenance), 2006.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 37, Issue 3
May 2012
129 pages
ISSN:0163-5948
DOI:10.1145/2180921
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 May 2012
Published in SIGSOFT Volume 37, Issue 3

Check for updates

Author Tags

  1. OO
  2. empirical studies
  3. refactoring

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 167
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media