Exploring Architectural Evolution in Microservice Systems using Repository Mining Techniques and Static Code Analysis

Exploring Architectural Evolution in Microservice Systems using Repository Mining Techniques and Static Code Analysis

Abstract

Microservices have gained popularity for isolating service functionality and mitigating issues such as architectural erosion and technical debt. However, their decentralized nature and rapid development often obscure the holistic view of the system and lead developers to lose sight of the overarching architecture. Our work addresses this challenge by proposing a novel approach to track and assess the evolution of microservice architectures through static source code analysis. We combine source code repository mining techniques with architectural reconstruction to measure various metrics throughout a system's development history. Our approach uses a formal API-based decomposition model that can easily be adapted for different scenarios by choosing various architectural metrics. We validated our method's scalability and robustness through a case study on an extensive open-source microservice reference system with more than 40 individual services written in different languages and more than 400 commits. Our research provides software architects with a powerful tool to identify and monitor problematic architectural trends before they become imminent threats, enabling the evolution of microservice-based systems while maintaining architectural coherence and integrity.

Grafik Top
Authors
  • Genfer, Patric
  • Zdun, Uwe
Grafik Top
Projects
Grafik Top
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
18th European Conference on Software Architecture (ECSA)
Divisions
Software Architecture
Subjects
Software Engineering
Systemarchitektur Allgemeines
Event Location
Luxembourg
Event Type
Conference
Event Dates
Mon 2 - Fri 6 September 2024
Date
September 2024
Export
Grafik Top