Evolution of code technical debt in microservices architectures

被引:0
|
作者
Maggi, Kevin [1 ]
Verdecchia, Roberto [1 ]
Scommegna, Leonardo [1 ]
Vicario, Enrico [1 ]
机构
[1] Univ Florence, Dept Informat Engn, Via S Marta 3, I-50139 Florence, Italy
关键词
Microservice; Technical debt; Software evolution; TIME-SERIES; MANAGEMENT; SMELLS;
D O I
10.1016/j.jss.2024.112301
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Context: Microservices are gaining significant traction in academic research and industry due to their advantages, and technical debt has long been a heavily researched metric in software quality context. However, to date, no study has attempted to understand how code technical debt evolves in such architectures. Aim: This research aims to understand how technical debt evolves over time in microservice architectures by investigating its trends, patterns, and potential relations with microservices number. Method: We analyze the technical debt evolution of 13 open-source projects. We collect data from systems through automated source code analysis, statistically analyze results to identify technical debt trends and correlations with microservices number, and conduct a subsequent manual commit inspection. Results: Technical debt increases over time, with periods of stability. The growth is related to microservices number, but its rate is not. The analysis revealed trend differences during initial development phases and later stages. Different activities can introduce technical debt, while its removal relies mainly on refactoring. Conclusions: Microservices independence is fundamental to maintain the technical debt under control, keeping it compartmentalized. The findings underscore the importance of technical debt management strategies to support the long-term success of microservices.
引用
收藏
页数:19
相关论文
共 50 条
  • [21] A Contextualized Vocabulary Model for Identifying Technical Debt on Code Comments
    de Freitas Farias, Mario Andre
    da Silva, Andre Batista
    de Mendonca Neto, Manoel Gomes
    Spinola, Rodrigo Oliveira
    2015 IEEE 7TH INTERNATIONAL WORKSHOP ON MANAGING TECHNICAL DEBT (MTD) PROCEEDINGS, 2015, : 25 - 32
  • [22] Investigating the Identification of Technical Debt Through Code Comment Analysis
    de Freitas Farias, Mario Andre
    Santos, Jose Amancio
    Kalinowski, Marcos
    Mendonca, Manoel
    Spinola, Rodrigo Oliveira
    ENTERPRISE INFORMATION SYSTEMS, ICEIS 2016, 2017, 291 : 284 - 309
  • [23] The temporality of technical debt introduction on new code and confounding factors
    Digkas, George
    Ampatzoglou, Apostolos
    Chatzigeorgiou, Alexander
    Avgeriou, Paris
    SOFTWARE QUALITY JOURNAL, 2022, 30 (02) : 283 - 305
  • [24] Can Clean New Code Reduce Technical Debt Density?
    Digkas, George
    Chatzigeorgiou, Alexander
    Ampatzoglou, Apostolos
    Avgeriou, Paris
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (05) : 1705 - 1721
  • [25] A modeling assistant to manage technical debt in coupled evolution
    Di Ruscio, Davide
    Di Salle, Amleto
    Iovino, Ludovico
    Pierantonio, Alfonso
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 156
  • [26] A Comparative Review of Microservices and Monolithic Architectures
    Al-Debagy, Omar
    Martinek, Peter
    2018 18TH IEEE INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND INFORMATICS (CINTI), 2018, : 149 - 153
  • [27] Automation of the Incremental Integration of Microservices Architectures
    Zuniga-Prieto, Miguel
    Insfran, Emilio
    Abrahao, Silvia
    Cano-Genoves, Carlos
    COMPLEXITY IN INFORMATION SYSTEMS DEVELOPMENT, 2017, 22 : 51 - 68
  • [28] Understanding Technical Debt at the Code Level from the Perspective of Software Developers
    Rocha, Junior Cesar
    Zapalowski, Vanius
    Nunes, Ingrid
    XXXI BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES 2017), 2017, : 64 - 73
  • [29] The lifecycle of Technical Debt that manifests in both source code and issue trackers
    Tan, Jie
    Feitosa, Daniel
    Avgeriou, Paris
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 159
  • [30] On the Diffuseness of Code Technical Debt in Java']Java Projects of the Apache Ecosystem
    Saarimaki, Nyyti
    Lenarduzzi, Valentina
    Taibi, Davide
    2019 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT (TECHDEBT 2019), 2019, : 98 - 107