Abstract
Technical debt is considered detrimental to the long-term success of software development, but despite the numerous studies in the literature, there are still many aspects that need to be investigated for a better understanding of it. In particular, the main problems that hinder its complete understanding are the absence of a clear definition and a model for its identification, management, and forecasting. Focusing on forecasting technical debt, there is a growing notion that preventing technical debt build-up allows you to identify and address the riskiest debt items for the project before they can permanently compromise it. However, despite this high relevance, the forecast of technical debt is still little explored. To this end, this study aims to evaluate whether the quality metrics of a software system can be useful for the correct prediction of the technical debt. Therefore, the data related to the quality metrics of 8 different open-source software systems were analyzed and supplied as input to multiple machine learning algorithms to perform the prediction of the technical debt. In addition, several partitions of the initial dataset were evaluated to assess whether prediction performance could be improved by performing a data selection. The results obtained show good forecasting performance and the proposed document provides a useful approach to understanding the overall phenomenon of technical debt for practical purposes.
Similar content being viewed by others
References
Cunningham W. The WyCash portfolio management system. In: Proceeding of Addendum to the Proceedings on Object-Oriented Programming Systems, Languages, and Applications. 1992
de Jesus J S, de Melo A C V. Technical debt and the software project characteristics. A repository-based exploratory analysis. In: Proceeding of the 19th Conference on Business Informatics (CBI). 2017, 444–453
Aversano L, Bernardi M L, Cimitile M, Iammarino M, Romanyuk K. Investigating on the relationships between design smells removals and refactorings. In: Proceedings of the 15th International Conference on Software Technologies. 2020, 212–219
Ardimento P, Aversano L, Bernardi M L, Cimitile M, Iammarino M. Transfer learning for just-in-time design smells prediction using temporal convolutional networks. In: Proceedings of the 16th International Conference on Software Technologies. 2021, 310–317
Ardimento P, Dinapoli A. Knowledge extraction from on-line open source bug tracking systems to predict bug-fixing time. In: Proceedings of the 7th International Conference on Web Intelligence, Mining and Semantics. 2017
Aversano L, Cerulo L, Palumbo C. Mining candidate web services from legacy code. In: Proceeding of the 10th International Symposium on Web Site Evolution. 2008, 37–40
Aversano L, Bruno M, Di Penta M, Falanga A, Scognamiglio R. Visualizing the evolution of web services using formal concept analysis. In: Proceeding of the 8th International Workshop on Principles of Software Evolution (IWPSE’05). 2005, 57–60
Rantala L, Mäntylä M. Predicting technical debt from commit contents: reproduction and extension with automated feature selection. Software Quality Journal, 2020, 28(4): 1551–1579
Potdar A, Shihab E. An exploratory study on self-admitted technical debt. In: Proceeding of 2014 IEEE International Conference on Software Maintenance and Evolution. 2014, 91–100
Bavota G, Russo B. A large-scale empirical study on self-admitted technical debt. In: Proceedings of the13th Working Conference on Mining Software Repositories (MSR). 2016, 315–326
Maldonado E D S, Abdalkareem R, Shihab E, Serebrenik A. An empirical study on the removal of self-admitted technical debt. In: Proceeding of 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME). 2017, 238–248
Wehaibi S, Shihab E, Guerrouj L. Examining the impact of self-admitted technical debt on software quality. In: Proceeding of the 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 2016, 179–188
Seaman C, Guo Y, Zazworka N, Shull F, Izurieta C, Cai Y, Vetrò A. Using technical debt data in decision making: Potential decision approaches. In: Proceedings of the 3rd International Workshop on Managing Technical Debt. 2012, 45–48
Sas D, Avgeriou P. Quality attribute trade-offs in the embedded systems industry: an exploratory case study. Software Quality Journal, 2020, 28(2): 505–534
Li Z, Avgeriou P, Liang P. A systematic mapping study on technical debt and its management. Journal of Systems and Software, 2015, 101: 193–220
Aversano L, Bernardi M L, Cimitile M, Iammarino M, Romanyuk K. Investigating on the relationships between design smells removals and refactorings. In: Proceedings of the 15th International Conference on Software Technologies. 2020, 212–219
Amanatidis T, Mittas N, Moschou A, Chatzigeorgiou A, Ampatzoglou A, Angelis L. Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities. Empirical Software Engineering, 2020, 25(5): 4161–4204
Halepmollasi R. A composed technical debt identification methodology to predict software vulnerabilities. In: Proceeding of the 42nd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). 2020, 186–189
Spinellis D. Tool writing: A forgotten art? (software tools) IEEE Software, 2005, 22(4): 9–11
Avgeriou P C, Taibi D, Ampatzoglou A, Arcelli Fontana F, Besker T, Chatzigeorgiou A, Lenarduzzi V, Martini A, Moschou A, Pigazzini I, Saarimaki N, Sas D D, de Toledo S S, Tsintzira A A. An overview and comparison of technical debt measurement tools. IEEE Software, 2021, 38(3): 61–71
Knofczynski G T, Mundfrom D. Sample sizes when using multiple linear regression for prediction. Educational and Psychological Measurement, 2008, 68(3): 431–442
Safavian S R, Landgrebe D. A survey of decision tree classifier methodology. IEEE Transactions on Systems, Man, and Cybernetics, 1991, 21(3): 660–674
Dietterich T G. An experimental comparison of three methods for constructing ensembles of decision trees: Bagging, boosting, and randomization. Machine Learning, 2000, 40(2): 139–157
Breiman L. Random forests. Machine Learning, 2001, 45(1): 5–32
Iammarino M, Zampetti F, Aversano L, Di Penta M. An empirical study on the co-occurrence between refactoring actions and self-admitted technical debt removal. Journal of Systems and Software, 2021, 178: 110976
Iammarino M, Zampetti F, Aversano L, Di Penta M. Self-admitted technical debt removal and refactoring actions: Co-occurrence or more? In: Proceeding of 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). 2019, 186–190
Aversano L, Iammarino M, Carapella M, Vecchio A D, Nardi L. On the relationship between self-admitted technical debt removals and technical debt measures. Algorithms, 2020, 13(7): 168
Li Z, Liang P, Avgeriou P, Guelf N, Ampatzoglou A. An empirical investigation of modularity metrics for indicating architectural technical debt. In: Proceedings of the 10th International ACM Sigsoft Conference on Quality of Software Architectures. 2014, 119–128
Ampatzoglou A, Michailidis A, Sarikyriakidis C, Ampatzoglou A, Chatzigeorgiou A, Avgeriou P. A framework for managing interest in technical debt: An industrial validation. In: Proceedings of 2018 International Conference on Technical Debt. 2018, 115–124
Digkas G, Lungu M, Chatzigeorgiou A, Avgeriou P. The evolution of technical debt in the apache ecosystem. In: Lopes A, de Lemos R, eds. Software Architecture. Cham: Springer, 2017, 51–66
Chatzigeorgiou A, Ampatzoglou A, Ampatzoglou A, Amanatidis T. Estimating the breaking point for technical debt. In: Proceeding of the 7th International Workshop on Managing Technical Debt (MTD). 2015, 53–56
Skourletopoulos G, Mavromoustakis C X, Bahsoon R, Mastorakis G, Pallis E. Predicting and quantifying the technical debt in cloud software engineering. In: Proceeding of the 19th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD). 2014, 36–40
Arvanitou E M, Ampatzoglou A, Bibi S, Chatzigeorgiou A, Stamelos I. Monitoring technical debt in an industrial setting. In: Proceedings of Evaluation and Assessment on Software Engineering. 2019, 123–132
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. 2011, 17–23
Zazworka N, Spínola R O, Vetro’ A, Shull F, Seaman C. A case study on effectively identifying technical debt. In: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering. 2013, 42–47
Bellomo S, Nord R L, Ozkaya I, Popeck M. Got technical debt? Surfacing elusive technical debt in issue trackers. In: Proceedings of the 13th Working Conference on Mining Software Repositories (MSR). 2016, 327–338
Tsoukalas D, Kehagias D, Siavvas M, Chatzigeorgiou A. Technical debt forecasting: An empirical study on open-source repositories. Journal of Systems and Software, 2020, 170: 110777
Aversano L, Bernardi M L, Cimitile M, Iammarino M. Technical debt predictive model through temporal convolutional network. In: Proceeding of 2021 International Joint Conference on Neural Networks (IJCNN). 2021, 1–8
Saarimaki N, Baldassarre M T, Lenarduzzi V, Romano S. On the accuracy of SonarQube technical debt remediation time. In: Proceeding of the 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). 2019, 317–324
Letouzey J L. The SQALE method for evaluating technical debt. In: Proceedings of the 3rd International Workshop on Managing Technical Debt. 2012, 31–36
Hitz M, Montazeri B. Chidamber and Kemerer’s metrics suite: a measurement theory perspective. IEEE Transactions on Software Engineering, 1996, 22(4): 267–271
Author information
Authors and Affiliations
Corresponding author
Additional information
Lerina Aversano is an associate professor at the Department of Engineering of the University of Sannio, Italy. She received the PhD in Computer Engineering in July 2003 at the same University and was assistant professor from 2005. She also was a research leader at RCOST — Research Centre On Software Technology — of the University of Sannio, Italy from 2005. Her research interests include software maintenance, program comprehension, reverse engineering, reengineering, migration, business process modeling, business process evolution, software system evolution, software quality.
Mario Luca Bernardi received the PhD degree in Information Engineering from the University of Sannio, Italy in 2007. He is currently an assistant professor of Computer Science at the University of Sannio, Italy. Since 2003 he has been a researcher in the field of software engineering and his list of publications contains more than 100 papers published in journals and conference proceedings. His main research interests include artificial intelligence applied to several domains, pervasive computing and software engineering. He serves both as a member of the program and organizing committees of conferences, and as associate editor and reviewer of papers submitted to some of the main journals and magazines in the field of software engineering, software maintenance and program comprehension.
Marta Cimitile is an associate professor at Unitelma Sapienza University of Rome, Italy. She received a PhD in Computer Science in 2008 at the Department of Computer Science at the University of Bari, Italy. She published more than 100 papers at international conferences and journals. Her main research topics are: Process and Data Mining, Artificial Intelligence. She was involved in several industrial and research projects and she is a founding member of the SpinOff of University of Bari named Software Engineering Research and Practices s.r.l. She was in the Editorial Board of several international journals like Computational Intelligence and Neuroscience.
Martina Iammarino is a PhD student in Computer Engineering. She received master’s degree in Computer Engineering at the University of Sannio, Italy. Her research interests include software quality, software metrics, refactoring, modeling, evaluation and evolution, technical debt, and software measurement.
Debora Montano has a master’s degree in Statistics and Actuarial Sciences at the University of Sannio, Italy. She is currently researching at the Computer Science Department of the University of Sannio, Italy where she carries out research as a Data Analyst for Machine Learning and Big Data processing activities. Debora has already worked as a researcher at the same University, where she worked on statistical learning methods for predictive maintenance. Currently, Debora’s research fields are technical debt, software quality, refactoring, machine learning, deep learning, and empirical studies in the medical field.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Aversano, L., Bernardi, M.L., Cimitile, M. et al. Forecasting technical debt evolution in software systems: an empirical study. Front. Comput. Sci. 17, 173210 (2023). https://doi.org/10.1007/s11704-022-1541-7
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11704-022-1541-7