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 条
  • [41] SoHist: A Tool for Managing Technical Debt through Retro Perspective Code Analysis
    Dornauer, Benedikt
    Felderer, Michael
    Weinzerl, Johannes
    Racasan, Mircea-Cristian
    Hess, Martin
    27TH INTERNATIONAL CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, EASE 2023, 2023, : 184 - 187
  • [42] An empirical study on self-admitted technical debt in modern code review
    Kashiwa, Yutaro
    Nishikawa, Ryoma
    Kamei, Yasutaka
    Kondo, Masanari
    Shihab, Emad
    Sato, Ryosuke
    Ubayashi, Naoyasu
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 146
  • [43] Technical Debt Forecasting from Source Code Using Temporal Convolutional Networks
    Lerina, Aversano
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2022, 2022, 13709 : 581 - 591
  • [44] Extraction of Microservices from Monolithic Software Architectures
    Mazlami, Gene
    Cito, Juergen
    Leitner, Philipp
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON WEB SERVICES (ICWS 2017), 2017, : 524 - 531
  • [45] Technical Debt
    Wolff, Eberhard
    Johann, Sven
    IEEE SOFTWARE, 2015, 32 (04) : 94 - U11
  • [46] Technical Debt
    Braun, Stefan
    IEEE SOFTWARE, 2011, 28 (04) : 8 - 8
  • [47] Startups and Technical Debt Managing Technical Debt with Visual Thinking
    Chicote, Marcos
    2017 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING FOR STARTUPS (SOFTSTART 2017), 2017, : 10 - 11
  • [48] Preventing Technical Debt by Technical Debt Aware Project Management
    Wiese, Marion
    Riebisch, Matthias
    Schwarze, Julian
    2021 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT (TECHDEBT 2021), 2021, : 84 - 93
  • [49] FOCUS TECHNICAL DEBT Managing Technical Debt with the SQALE Method
    Letouzey, Jean-Louis
    Ilkiewicz, Michel
    IEEE SOFTWARE, 2012, 29 (06) : 44 - 51
  • [50] A Collaborative Computational Infrastructure for Supporting Technical Debt Knowledge Sharing and Evolution
    Alves, Nicolli S. R.
    de Araujo, Rodrigo S.
    Spinola, Rodrigo O.
    AMCIS 2015 PROCEEDINGS, 2015,