Architectural technical debt: an identification strategy
Main Article Content
Architectural Technical Debt is a metaphor for actions made by architects to achieve short-term goals while potentially harming the system's long-term health. Architectural Technical Debt is difficult to detect since it is associated with a system's long-term maintenance and evolution. In this research, we describe an architectural evolution-based method to debt identification that is backed by a supervised machine learning model and is based on information obtained from artifacts produced during architecture design. We discovered that even with a little amount of data, the machine learning model produces good results in terms of Recall and even Accuracy. The trial provides insights that allow us to conclude that this idea works well and might be utilized as a starting point to assist architects in identifying and managing Architectural Technical Debt.
(1) Martini A, Sikander E, Madlani N. A semi-automated framework for the identification and estimation of Architectural Technical Debt: A comparative case-study on the modularization of a software component. Information and Software Technology. 2018 Jan; 93: 264–79. Available from: https://dl.acm.org/doi/abs/10.1016/j.infsof.2017.08.005 DOI: https://doi.org/10.1016/j.infsof.2017.08.005
(2) Ernst NA, Bellomo S, Ozkaya I, Nord RL, Gorton I. Measure it? Manage it? Ignore it? software practitioners and technical debt. Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 2015 Aug 30 [cited 2023 Apr 19]; 50–60. Available from: https://dl.acm.org/doi/10.1145/2786805.2786848 DOI: https://doi.org/10.1145/2786805.2786848
(3) Besker T, Martini A, Bosch J. Managing architectural technical debt: A unified model and systematic literature review. Journal of Systems and Software. 2018 Jan [cited 2019 Nov 4];135:1–16. Available from: https://www.sciencedirect.com/science/article/abs/pii/S0164121217302121 DOI: https://doi.org/10.1016/j.jss.2017.09.025
(4) Li Z, Avgeriou P, Liang P. A systematic mapping study on technical debt and its management. Journal of Systems and Software. 2015 Mar;101:193–220. Available from: https://www.sciencedirect.com/science/article/abs/pii/S0164121214002854 DOI: https://doi.org/10.1016/j.jss.2014.12.027
(5) Verdecchia R, Malavolta I, Lago P. Architectural Technical Debt Identification: The Research Landscape. In: 2018 IEEE/ACM International Conference on Technical Debt (TechDebt). 2018 [cited 2023 Jul 14]. p. 11–20. Available from: https://ieeexplore.ieee.org/document/8595095 DOI: https://doi.org/10.1145/3194164.3194176
(6) Martini A, Besker T, Bosch J. The Introduction of Technical Debt Tracking in Large Companies. In: 2016 23rd Asia-Pacific Software Engineering Conference (APSEC). 2016 [cited 2023 Jul 14]. p. 161–168. Available from: https://ieeexplore.ieee.org/document/7890584 DOI: https://doi.org/10.1109/APSEC.2016.032
(7) Nord RL, Ozkaya I, Kruchten P, Gonzalez-Rojas M. In Search of a Metric for Managing Architectural Technical Debt. In: 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture. IEEE Xplore; 2012. p. 91–100. Available from: https://ieeexplore.ieee.org/abstract/document/6337765 DOI: https://doi.org/10.1109/WICSA-ECSA.212.17
(8) Li Z, Liang P, Avgeriou P. Architectural Technical Debt Identification Based on Architecture Decisions and Change Scenarios. In: 2015 12th Working IEEE/IFIP Conference on Software Architecture. 2015. p. 65–74. Available from: https://ieeexplore.ieee.org/document/7158505 DOI: https://doi.org/10.1109/WICSA.2015.19
(9) Li Z, Liang P, Avgeriou P. Chapter 9 - Architectural Debt Management in Value-Oriented Architecting. In: Mistrik I, Bahsoon R, Kazman R, Zhang Y, editors. Economics-Driven Software Architecture. Boston: Morgan Kaufmann; 2014 [cited 2023 Jul 14]. p. 183–204. Available from: https://www.sciencedirect.com/science/article/pii/B978012410464800009X DOI: https://doi.org/10.1016/B978-0-12-410464-8.00009-X
(10) Diaz-Pace J. Andres, Tommasel A, Godoy D. [Research Paper] Towards Anticipation of Architectural Smells Using Link Prediction Techniques. In: 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE Xplore; 2018 [cited 2023 Jul 14]. p. 62–71. Available from: https://ieeexplore.ieee.org/document/8530719 DOI: https://doi.org/10.1109/SCAM.2018.00015
(11) de A, Gomes M, Luiz A, Spínola RO. A Contextualized Vocabulary Model for identifying technical debt on code comments. IEEE 7th International Workshop on Managing Technical Debt (MTD). 2015 [cited 2023 Jun 15]. p. 25 – 32. Available from: https://ieeexplore.ieee.org/document/7332621
(12) Tsoukalas D, Kehagias D, Siavvas M, Chatzigeorgiou A. Technical debt forecasting: An empirical study on open-source repositories. Journal of Systems and Software. 2020 Dec [cited 2021 Mar 10]; 170:110777. Available from: https://www.sciencedirect.com/science/article/abs/pii/S0164121220301904 DOI: https://doi.org/10.1016/j.jss.2020.110777
(13) Dai K. Identifying technical debt through issue trackers. Vancouver: University of British Columbia Library. [Vancouver: University of British Columbia Library]: University of British Columbia; 2009 [cited 2019 Oct 11]. Available from: https://open.library.ubc.ca/cIRcle/collections/ubctheses/24/items/1.0374920
(14) Tsintzira A, Arvanitou E, Ampatzoglou A, Chatzigeorgiou A. Applying Machine Learning in Technical Debt Management: Future Opportunities and Challenges. In: International Conference on the Quality of Information and Communications Technology. 2020 [cited 2023 Jul 14]. p. 53–67. Available from: https://link.springer.com/chapter/10.1007/978-3-030-58793-2_5 DOI: https://doi.org/10.1007/978-3-030-58793-2_5
(15) Kazman R, Cai Y, Mo R, Feng Q, Xiao L, Serge Haziyev, et al. A Case Study in Locating the Architectural Roots of Technical Debt. In: 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. 2015 [cited 2023 Jul 14]. p. 179–88. Available from: https://ieeexplore.ieee.org/document/7202962 DOI: https://doi.org/10.1109/ICSE.2015.146
(16) Zeng Z, Liang P, Avgeriou P, Guelfi N, Apostolos Ampatzoglou. An empirical investigation of modularity metrics for indicating architectural technical debt. In: 10th international ACM Sigsoft conference on Quality of software architectures. 2014. p. 119–28.
(17) Verdecchia R, Kruchten P, Lago P, Malavolta I. Building and evaluating a theory of architectural technical debt in software-intensive systems. Journal of Systems and Software. 2021 Jun;176:110925. DOI: https://doi.org/10.1016/j.jss.2021.110925
(18) Verdecchia R. Architectural Technical Debt Identification: Moving Forward. In: IEEE International Conference on Software Architecture Companion (ICSA-C). 2018 [cited 2023 Jul 14]. p. 43–4. Available from: https://ieeexplore.ieee.org/document/8432173 DOI: https://doi.org/10.1109/ICSA-C.2018.00018
(19) Musil J, Ekaputra FJ, Sabou M, Ionescu TC, Schall D, Musil A, et al. Continuous Architectural Knowledge Integration: Making Heterogeneous Architectural Knowledge Available in Large-Scale Organizations. In: IEEE International Conference on Software Architecture (ICSA). 2017 [cited 2023 Jul 14]. p. 189–92. Available from: https://ieeexplore.ieee.org/document/7930216 DOI: https://doi.org/10.1109/ICSA.2017.28
Accepted 2023-09-12
Published 2023-06-26
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Authors grant the journal and Universidad del Valle the economic rights over accepted manuscripts, but may make any reuse they deem appropriate for professional, educational, academic or scientific reasons, in accordance with the terms of the license granted by the journal to all its articles.
Articles will be published under the Creative Commons 4.0 BY-NC-SA licence (Attribution-NonCommercial-ShareAlike).