Skip to main content

Are Some Refactorings Attached to Fault-Prone Classes and Others to Fault-Free Classes?

  • Conference paper
Agile Methods. Large-Scale Development, Refactoring, Testing, and Estimation (XP 2014)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 199))

Included in the following conference series:

  • 2741 Accesses

Abstract

A topical and relevant issue in the area of refactoring is the nature and characteristics of classes to which refactorings are applied. In particular, if we scrutinise the total set of refactorings applied to the classes of a system over different releases, which refactorings are applied to fault-prone classes and which to fault-free classes? In this paper, we explore that facet of refactoring. Refactorings applied between six releases of three Eclipse packages are used as a basis of the study and the Ref-Finder tool used to extract up to sixty-five different refactorings. Interestingly, results showed that refactorings applied to highly fault-prone classes differed significantly from those applied to fault-free classes, in particular related to the ‘rename method’ refactoring; a corresponding trend for the ‘move method’ and ‘move field’ refactoring was found in ‘fault-free’ classes over the period while the add and remove parameter refactorings tended to remain constant. The research offers an insight into refactoring behaviour in light of faults (or no faults).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bavota, G., De Carluccio, B., De Lucia, A., Di Penta, M., Oliveto, R., Strollo, O.: When does a refactoring induce bugs? An Empirical Study. In: Proceedings of 12th IEEE International Working Conference on Source Code Analysis and Manipulation, Trento, Italy (2012)

    Google Scholar 

  2. Counsell, S., Hassoun, Y., Loizou, G., Najjar, R.: Common refactorings, a dependency graph and some code smells: An empirical study of Java OSS. In: International Symposium on Empirical Software Engineering (ISESE), Rio de Janeiro, pp. 288–296 (2006)

    Google Scholar 

  3. Demeyer, S., Ducasse, S., Nierstrasz, O.: Finding Refactorings via Change Metrics. In: Conference OO Programming Systems, Languages and Apps., pp. 166–177. ACM Press (2000)

    Google Scholar 

  4. Fenton, N.E., Pfleeger, S.L.: Software metrics - a practical and rigorous approach, 2nd edn. International Thomson (1996)

    Google Scholar 

  5. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional (1999)

    Google Scholar 

  6. Mens, T., Tourwe, T.: A Survey of Software Refactoring. IEEE Transactions on Software Engineering 30(2), 126–139 (2004)

    Article  Google Scholar 

  7. Murphy-Hill, E., Parnin, C., Black, A.: How we refactor, and how we know it. IEEE Transactions on Software Engineering 38(1), 5–18 (2012)

    Article  Google Scholar 

  8. Opdyke, W.: Refactoring object-oriented frameworks, PhD Thesis, University of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  9. Prete, K., Rachatasumrit, N., Sudan, N., Kim, M.: Template-based reconstruction of complex refactorings. In: Intl. Conference Software Maintenance, Timisoara, Romania, pp. 1–10 (2010)

    Google Scholar 

  10. Ratzinger, J., Sigmund, T., Gall, H.C.: On the relation of refactorings and software defect prediction. In: Proceedings of the 2008 International Working Conference on Mining Software Repositories, pp. 35–38. ACM Press, Leipzig (2008)

    Chapter  Google Scholar 

  11. Weissgerber, P., Diehl, S.: Are refactorings less error-prone than other changes? In: Proceedings of Workshop on Mining Software Repositories (MSR 2006), pp. 112–118 (2006)

    Google Scholar 

  12. http://www.refactoring.com

  13. http://www.sourcemaking.com

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Counsell, S., Swift, S., Murgia, A., Tonelli, R., Marchesi, M., Concas, G. (2014). Are Some Refactorings Attached to Fault-Prone Classes and Others to Fault-Free Classes?. In: Dingsøyr, T., Moe, N.B., Tonelli, R., Counsell, S., Gencel, C., Petersen, K. (eds) Agile Methods. Large-Scale Development, Refactoring, Testing, and Estimation. XP 2014. Lecture Notes in Business Information Processing, vol 199. Springer, Cham. https://doi.org/10.1007/978-3-319-14358-3_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14358-3_12

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14357-6

  • Online ISBN: 978-3-319-14358-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics