Abstract
Technical Debt describes a deficit in terms of functions, architecture, or integration, which must subsequently be filled to allow a homogeneous functioning of the product itself or its dependencies. It is predominantly caused by pursuing rapid development versus a correct development procedure. Technical Debt is therefore the result of a non-optimal software development process, which if not managed promptly can compromise the quality of the software. This study presents a technical debt trend forecasting approach based on the use of a temporal convolutional network and a broad set of product and process metrics, collected commit by commit. The model was tested on the entire evolutionary history of two open-source Java software systems available on Github: Commons-codec and Commons-net. The results are excellent and demonstrate the effectiveness of the model, which could be a pioneer in developing a TD reimbursement strategy recommendation tool that can predict when a software product might become too difficult to maintain.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Albawi, S., Mohammed, T.A., Al-Zawi, S.: Understanding of a convolutional neural network. In: 2017 International Conference on Engineering and Technology (ICET), pp. 1–6 (2017). https://doi.org/10.1109/ICEngTechnol.2017.8308186
Alves, N.S., Mendes, T.S., de Mendonça, M.G., Spínola, R.O., Shull, F., Seaman, C.: Identification and management of technical debt: A systematic mapping study. Inf. Softw. Technol. 70, 100–121 (2016). https://doi.org/10.1016/j.infsof.2015.10.008, https://www.sciencedirect.com/science/article/pii/S0950584915001743
Alves, N.S., Mendes, T.S., de Mendonça, M.G., Spínola, R.O., Shull, F., Seaman, C.: Identification and management of technical debt: a systematic mapping study. Inf. Softw. Technol. 70, 100–121 (2016)
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. Empir. Softw. Eng. 25(5), 4161–4204 (2020). https://doi.org/10.1007/s10664-020-09869-w
Ardimento, P., Aversano, L., Bernardi, M.L., Cimitile, M., Iammarino, M.: Using deep temporal convolutional networks to just-in-time forecast technical debt principal. J. Syst. Softw. 194, 111481 (2022). https://doi.org/10.1016/j.jss.2022.111481, https://www.sciencedirect.com/science/article/pii/S0164121222001649
Aversano, L., Bernardi, M.L., Cimitile, M., Iammarino, M.: Technical debt predictive model through temporal convolutional network. In: 2021 International Joint Conference on Neural Networks (IJCNN), pp. 1–8 (2021). https://doi.org/10.1109/IJCNN52387.2021.9534423
Aversano, L., Bernardi, M.L., Cimitile, M., Iammarino, M., Romanyuk, K.: Investigating on the relationships between design smells removals and refactorings. In: 15th International Conference on Software Technologiesp, pp. 212–219 (2020)
Aversano, L., Bruno, M., Di Penta, M., Falanga, A., Scognamiglio, R.: Visualizing the evolution of web services using formal concept analysis. In: Eighth International Workshop on Principles of Software Evolution (IWPSE’05), pp. 57–60 (2005). https://doi.org/10.1109/IWPSE.2005.33
Aversano, L., Cerulo, L., Palumbo, C.: Mining candidate web services from legacy code. In:10th International Symposium on Web Site Evolution, 2008. WSE 2008, pp. 37–40 (2008). https://doi.org/10.1109/WSE.2008.4655393
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 13(7) (2020)). https://www.mdpi.com/1999-4893/13/7/168
Avgeriou, P.C., et al.: An overview and comparison of technical debt measurement tools. IEEE Softw. 38(3), 61–71 (2021). https://doi.org/10.1109/MS.2020.3024958
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994). https://doi.org/10.1109/32.295895
Cunningham, W.: The WyCash portfolio management system. In: Addendum to the Proceedings on Object-oriented Programming Systems, Languages, and Applications. ACM (1992)
de Freitas Farias, M.A., de Mendonça Neto, M.G., d. Silva, A.B., Spínola, R.O.: A contextualized vocabulary model for identifying technical debt on code comments. In: 2015 IEEE 7th International Workshop on Managing Technical Debt (MTD), pp. 25–32 (2015). https://doi.org/10.1109/MTD.2015.7332621
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. J. Syst. Softw. 178, 110976 (2021). https://doi.org/10.1016/j.jss.2021.110976, https://www.sciencedirect.com/science/article/pii/S016412122100073X
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. J. Syst. Softw. 178 (2021). https://doi.org/10.1016/j.jss.2021.110976
Köhn, H.F., Hubert, L.J.: Hierarchical Cluster Analysis, pp. 1–13 Wiley StatsRef: Statistics Reference Online (2014)
Letouzey, J.: The sqale method for evaluating technical debt. In: 2012 Third International Workshop on Managing Technical Debt (MTD), pp. 31–36 (2012). https://doi.org/10.1109/MTD.2012.6225997
Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101, 193–220 (2015). https://doi.org/10.1016/j.jss.2014.12.027, https://www.sciencedirect.com/science/article/pii/S0164121214002854
Li, Z., Liang, P., Avgeriou, P., Guelfi, 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, pp. 119–128. Association for Computing Machinery, New York, NY, USA (2014). https://doi.org/10.1145/2602576.2602581, https://doi.org/10.1145/2602576.2602581
Skourletopoulos, G., Mavromoustakis, C.X., Bahsoon, R., Mastorakis, G., Pallis, E.: Predicting and quantifying the technical debt in cloud software engineering. In: 2014 IEEE 19th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), pp. 36–40 (2014). https://doi.org/10.1109/CAMAD.2014.7033201
Tsoukalas, D., Jankovic, M., Siavvas, M., Kehagias, D., Chatzigeorgiou, A., Tzovaras, D.: On the applicability of time series models for technical debt forecasting. In: 15th China-Europe International Symposium on Software Engineering Education (2019)
Tsoukalas, D., Kehagias, D., Siavvas, M., Chatzigeorgiou, A.: Technical debt forecasting: an empirical study on open-source repositories. J. Syst. Softw. 170, 110777 (2020). https://doi.org/10.1016/j.jss.2020.110777, https://www.sciencedirect.com/science/article/pii/S0164121220301904
Tsoukalas, D., Mathioudaki, M., Siavvas, M., Kehagias, D., Chatzigeorgiou, A.: A clustering approach towards cross-project technical debt forecasting. SN Comput. Sci. 2(1), 1–30 (2021). https://doi.org/10.1007/s42979-020-00408-4
Wehaibi, S., Shihab, E., Guerrouj, L.: Examining the impact of self-admitted technical debt on software quality. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 179–188 (2016). https://doi.org/10.1109/SANER.2016.72
Yang, Z., Yang, D., Dyer, C., He, X., Smola, A., Hovy, E.: Hierarchical attention networks for document classification. In: Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 1480–1489. Association for Computational Linguistics, San Diego, California (Jun 2016). https://doi.org/10.18653/v1/N16-1174, https://www.aclweb.org/anthology/N16-1174
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Lerina, A., Bernardi, M.L., Cimitile, M., Iammarino, M. (2022). Technical Debt Forecasting from Source Code Using Temporal Convolutional Networks. In: Taibi, D., Kuhrmann, M., Mikkonen, T., Klünder, J., Abrahamsson, P. (eds) Product-Focused Software Process Improvement. PROFES 2022. Lecture Notes in Computer Science, vol 13709. Springer, Cham. https://doi.org/10.1007/978-3-031-21388-5_43
Download citation
DOI: https://doi.org/10.1007/978-3-031-21388-5_43
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21387-8
Online ISBN: 978-3-031-21388-5
eBook Packages: Computer ScienceComputer Science (R0)