Skip to main content

Optimal Refactoring

  • Conference paper
  • First Online:
Agile Processes in Software Engineering and Extreme Programming (XP 2015)

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

Included in the following conference series:

  • 6119 Accesses

Abstract

This paper investigates if Code-Churn, Lines of Code (LoC), Duplicated Code, Complexity and Technical Debt (TD) can inform a coder where to prioritize refactoring. A mature code-base of 1 300 000 LoC in approximately 5000 files for a period of 20 months has been examined. The result is that code-churn is the strongest variable out of the studied variables followed by LoC and TD. Multiplying with code-churn strengthens LoC and TD even more, making them the strongest indicators of refactoring potential.

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. Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley Professional (1999)

    Google Scholar 

  2. Tsantalis, N., Chatzigeorgiou, A.: Ranking refactoring suggestions based on historical volatility. In: 2011 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 25–34. IEEE (2011)

    Google Scholar 

  3. Zazworka, N., Vetro’, A., Izurieta, C., Wong, S., Cai, Y., Seaman, C., Shull, F.: Comparing four approaches for technical debt identification. Software Quality Journal, 1–24 (2013) (article in press)

    Google Scholar 

  4. Feathers, M.: Working effectively with legacy code. Prentice Hall Professional (2004)

    Google Scholar 

  5. Feathers, M.: On Churn and Complexity. http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=16679&tth=DYN&tt=siteemail&iDyn=2 (visited May 21, 2013)

  6. Tom, E., Aurum, A., Vidgen, R.: An exploration of technical debt. Journal of Systems and Software (2013) (article in press)

    Google Scholar 

  7. http://www.sonarqube.org/ (visited October 2, 2014)

  8. Luijten, B., Visser, J., Zaidman, A.: Faster defect resolution with higher technical quality of software. In: 4th International Workshop on Software Quality and Maintainability (SQM 2010).(March 2010)

    Google Scholar 

  9. How to calculate Spearman’s rank correlation coefficient. http://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient(visited June 20, 2013)

  10. Technical Debt Calculation http://docs.codehaus.org/display/SONAR/Technical+Debt+Calculation(visited August 23, 2013)

  11. http://git-scm.com/(visited October 24, 2014)

  12. What the Spearman’s rank correlation coefficient result meanshttp://www.statstutor.ac.uk/resources/uploaded/spearmans.pdf(visited June 20, 2013)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Susanne Siverland .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Siverland, S., Wernersson, R.C.S., Sennersten, C. (2015). Optimal Refactoring. In: Lassenius, C., Dingsøyr, T., Paasivaara, M. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2015. Lecture Notes in Business Information Processing, vol 212. Springer, Cham. https://doi.org/10.1007/978-3-319-18612-2_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-18612-2_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-18611-5

  • Online ISBN: 978-3-319-18612-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics