Deriving Microservice Architectural Perspectives Using Static Code Analysis for C\# Platform
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 <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$\mathbf{C}$</tex> \#. 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.
Authors
- Amr S. Abdelfattah (ORCID: https://orcid.org/0000-0001-7702-0059)
- Jorge Yero (ORCID: https://orcid.org/0000-0002-5033-4805)
Institutions
- University of Arizona (US)
- Baylor University (US)
Publication Details
- Published
- 2025-04-29
- DOI
- https://doi.org/10.1109/satrends66715.2025.00005
- Primary Topic
- Software System Performance and Reliability
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation