Exploring Architectural Evolution in Microservice Systems using Repository Mining Techniques and Static Code Analysis
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.
Top- Genfer, Patric
- Zdun, Uwe
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 |