The Evolution of Technical Debt in the Apache Ecosystem

  • Georgios DigkasEmail author
  • Mircea Lungu
  • Alexander Chatzigeorgiou
  • Paris Avgeriou
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10475)


Software systems must evolve over time or become increasingly irrelevant says one of Lehman’s laws of software evolution. Many studies have been presented in the literature that investigate the evolution of software systems but few have focused on the evolution of technical debt. In this paper we study sixty-six Java open-source software projects from the Apache ecosystem focusing on the evolution of technical debt. We analyze the evolution of these systems over the past five years at the temporal granularity level of weekly snapshots. We calculate the trends of the technical debt time series but we also investigate the lower-level constituent components of this technical debt. We aggregate some of the information to the ecosystem level.

Our findings show that the technical debt together with source code metrics increase for the majority of the systems. However, technical debt normalized to the size of the system actually decreases over time in the majority of the systems under investigation. Furthermore, we discover that some of the most frequent and time-consuming types of technical debt are related to improper exception handling and code duplication.


Software evolution Time series data mining Technical debt Mining software repositories Empirical study 


  1. 1.
    Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101(C), 193–220 (2015). CrossRefGoogle Scholar
  2. 2.
    Manikas, K.: Revisiting software ecosystems research. J. Syst. Softw. 117(C), 84–103 (2016). CrossRefGoogle Scholar
  3. 3.
    Lungu, M.: Reverse engineering software ecosystems. Ph.D. dissertation, University of Lugano, November 2009.
  4. 4.
    Campbell, G.A., Papapetrou, P.P.: SonarQube in Action, 1st edn. Manning Publications Co., Greenwich (2013)Google Scholar
  5. 5.
    Ilkiewicz, M., Letouzey, J.-L.: Managing technical debt with the sqale method. IEEE Softw. 29, 44–51 (2012)CrossRefGoogle Scholar
  6. 6.
    Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  7. 7.
    Murphy-Hill, E., Parnin, C., Black, A.P.: How we refactor, and how we know it. In: Proceedings of the 31st International Conference on Software Engineering, ICSE 2009, pp. 287–297. IEEE Computer Society, Washington, DC (2009).
  8. 8.
    Olbrich, S., Cruzes, D.S., Basili, V., Zazworka, N.: The evolution and impact of code smells: a case study of two open source systems. In: 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 390–400, October 2009Google Scholar
  9. 9.
    Zazworka, N., Shaw, M.A., Shull, F., Seaman, C.: Investigating the impact of design debt on software quality. In: Proceedings of the 2nd Workshop on Managing Technical Debt, MTD 2011, pp. 17–23. ACM, New York (2011).
  10. 10.
    Peters, R., Zaidman, A.: Evaluating the lifespan of code smells using software repository mining. In: 2012 16th European Conference on Software Maintenance and Reengineering, pp. 411–416, March 2012Google Scholar
  11. 11.
    Chatzigeorgiou, A., Manakos, A.: Investigating the evolution of code smells in object-oriented systems. Innov. Syst. Softw. Eng. 10(1), 3–18 (2014). CrossRefGoogle Scholar
  12. 12.
    Curtis, B., Sappidi, J., Szynkarski, A.: Estimating the size, cost, and types of technical debt. In: Proceedings of the Third International Workshop on Managing Technical Debt, MTD 2012, pp. 49–53. IEEE Press, Piscataway (2012).
  13. 13.
    Vasilescu, B., Serebrenik, A., Goeminne, M., Mens, T.: On the variation and specialisation of workload - a case study of the gnome ecosystem community. Empirical Softw. Eng. 19(4), 955–1008 (2013)CrossRefGoogle Scholar
  14. 14.
    Lungu, M., Malnati, J., Lanza, M.: Visualizing gnome with the small project observatory. In: Godfrey, M.W., Whitehead, J. (eds.) MSR, pp. 103–106. IEEE Computer Society (2009).
  15. 15.
    Bavota, G., Canfora, G., Penta, M.D., Oliveto, R., Panichella, S.: The evolution of project inter-dependencies in a software ecosystem: the case of apache. In: Proceedings of the 2013 IEEE International Conference on Software Maintenance, ICSM 2013, pp. 280–289. IEEE Computer Society, Washington, DC (2013).
  16. 16.
    Decan, A., Mens, T., Claes, M., Grosjean, P.: When github meets cran: an analysis of inter-repository package dependency problems. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 493–504, March 2016Google Scholar
  17. 17.
    Robbes, R., Lungu, M., Roethlisberger, D.: How do developers react to API deprecation? the case of a Smalltalk ecosystem. In: Proceedings of the 20th International Symposium on the Foundations of Software Engineering (FSE 2012), pp. 56:1–56:11 (2012)Google Scholar
  18. 18.
    Tourani, P., Jiang, Y., Adams, B.: Monitoring sentiment in open source mailing lists: exploratory study on the apache ecosystem. In: Proceedings of 24th Annual International Conference on Computer Science and Software Engineering, CASCON 2014, pp. 34–44 (2014)Google Scholar
  19. 19.
    Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., Poshyvanyk, D.: When and why your code starts to smell bad. In: Proceedings of the 37th International Conference on Software Engineering, ICSE 2015, vol. 1, pp. 403–414. IEEE Press, Piscataway (2015).

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Georgios Digkas
    • 1
    Email author
  • Mircea Lungu
    • 1
  • Alexander Chatzigeorgiou
    • 2
  • Paris Avgeriou
    • 1
  1. 1.Johann Bernoulli Institute for Mathematics and Computer ScienceUniversity of GroningenGroningenThe Netherlands
  2. 2.Department of Applied InformaticsUniversity of MacedoniaThessalonikiGreece

Personalised recommendations