Deriving Microservice Architectural Perspectives Using Static Code Analysis for C\# Platform
Amr S. Abdelfattah, Jorge Yero, Tomas Cerny · 2025
Software Architecture Reconstruction is essential for understanding the structure and dependencies of a software system, particularly in microservices where system decomposition can result in lost knowledge of the overall structure. We introduce a method for reconstructing microservice systems' architectural perspectives using static analysis tailored to$\mathbf{C}$\#. Our approach focuses on two key architectural viewpoints of the system: (1) the domain perspective focusing on the system's context map and (2) the service view illustrating the communication and dependency aspects between microservices. We propose a methodology to determine these views from microservices. We conduct a case study wherein our proof-of-concept tool analyzes a mature microservice-based system that is widely used in practice. The tool accurately and efficiently captures key architectural elements and relationships and, by operating on live code, provides up-to-date system details, aiding practitioners in making informed decisions when maintaining and evolving the system without complex code reviews or outdated documentation.