Skip to main content

A Case Study of Refactoring Large-Scale Industrial Systems to Efficiently Improve Source Code Quality

  • Conference paper
Computational Science and Its Applications – ICCSA 2014 (ICCSA 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8583))

Included in the following conference series:

Abstract

Refactoring source code has many benefits (e.g. improving maintainability, robustness and source code quality), but it takes time away from other implementation tasks, resulting in developers neglecting refactoring steps during the development process. But what happens when they know that the quality of their source code needs to be improved and they can get the extra time and money to refactor the code? What will they do? What will they consider the most important for improving source code quality? What sort of issues will they address first or last and how will they solve them? In our paper, we look for answers to these questions in a case study of refactoring large-scale industrial systems where developers participated in a project to improve the quality of their software systems. We collected empirical data of over a thousand refactoring patches for 5 systems with over 5 million lines of code in total, and we found that developers really optimized the refactoring process to significantly improve the quality of these systems.

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. Alshayeb, M.: Empirical investigation of refactoring effect on software quality. Inf. Softw. Technol. 51(9), 1319–1326 (2009)

    Article  Google Scholar 

  2. Arcelli Fontana, F., Braione, P., Zanoni, M.: Automatic detection of bad smells in code: An experimental assessment. Journal of Object Technology 11(2), 1–38 (2012)

    Article  Google Scholar 

  3. Beck, K.: Extreme Programming Explained: Embrace Change, 1st edn. Addison-Wesley Professional (1999)

    Google Scholar 

  4. Choi, E., Yoshida, N., Ishio, T., Inoue, K., Sano, T.: Extracting code clones for refactoring using combinations of clone metrics. In: Proceedings of the 5th International Workshop on Software Clones, IWSC 2011, pp. 7–13. ACM (2011)

    Google Scholar 

  5. Demeyer, S., Ducasse, S., Nierstrasz, O.: Object-Oriented Reengineering Patterns. Morgan Kaufmann (2002)

    Google Scholar 

  6. Du Bois, B.: A Study of Quality Improvements by Refactoring. Ph.D. thesis (2006)

    Google Scholar 

  7. Du Bois, B., Gorp, P.V., Amsel, A., Eetvelde, N.V., Stenten, H., Demeyer, S.: A discussion of refactoring in research and practice. Tech. rep. (2004)

    Google Scholar 

  8. Ferenc, R., Beszédes, Á., Tarkiainen, M., Gyimóthy, T.: Columbus – Reverse Engineering Tool and Schema for C++. In: Proceedings of the 18th International Conference on Software Maintenance (ICSM 2002), pp. 172–181. IEEE Computer Society (October 2002)

    Google Scholar 

  9. Fontana, F.A., Spinelli, S.: Impact of refactoring on quality code evaluation. In: Proceedings of the 4th Workshop on Refactoring Tools, WRT 2011, pp. 37–40. ACM (2011)

    Google Scholar 

  10. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co., Inc. (1999)

    Google Scholar 

  11. Maiga, A.: Impacts and Detection of Design Smells. Ph.D. thesis (2012)

    Google Scholar 

  12. Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  13. Moser, R., Abrahamsson, P., Pedrycz, W., Sillitti, A., Succi, G.: A Case Study on the Impact of Refactoring on Quality and Productivity in an Agile Team. In: Meyer, B., Nawrocki, J.R., Walter, B. (eds.) CEE-SET 2007. LNCS, vol. 5082, pp. 252–266. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Murphy-Hill, E., Black, A.P., Dig, D., Parnin, C.: Gathering refactoring data: A comparison of four methods. In: Proceedings of the 2nd Workshop on Refactoring Tools, WRT 2008, pp. 7:1–7:5. ACM (2008)

    Google Scholar 

  15. Opdyke, W.F.: Refactoring Object-oriented Frameworks. Ph.D. thesis (1992)

    Google Scholar 

  16. Pinto, G.H., Kamei, F.: What programmers say about refactoring tools?: An empirical investigation of Stack Overflow. In: Proceedings of the 2013 ACM Workshop on Workshop on Refactoring Tools, WRT 2013, pp. 33–36. ACM (2013)

    Google Scholar 

  17. Ratzinger, J., Fischer, M., Gall, H.: Improving evolvability through refactoring. SIGSOFT Softw. Eng. Notes 30(4), 1–5 (2005)

    Article  Google Scholar 

  18. Stroggylos, K., Spinellis, D.: Refactoring–does it improve software quality? In: Proceedings of the 5th International Workshop on Software Quality, WoSQ 2007, p. 10. IEEE Computer Society (2007)

    Google Scholar 

  19. Tairas, R.: Clone detection and refactoring. In: Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications, OOPSLA 2006, pp. 780–781. ACM (2006)

    Google Scholar 

  20. Zibran, M.F., Roy, C.K.: Towards flexible code clone detection, management, and refactoring in IDE. In: Proceedings of the 5th International Workshop on Software Clones, IWSC 2011, pp. 75–76. ACM (2011)

    Google Scholar 

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

Szőke, G., Nagy, C., Ferenc, R., Gyimóthy, T. (2014). A Case Study of Refactoring Large-Scale Industrial Systems to Efficiently Improve Source Code Quality. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2014. ICCSA 2014. Lecture Notes in Computer Science, vol 8583. Springer, Cham. https://doi.org/10.1007/978-3-319-09156-3_37

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09156-3_37

  • Publisher Name: Springer, Cham

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics