24 April 2024 | Tomas Cerny, Amr S. Abdelfattah, Jorge Yero, Davide Taibi
This paper explores the use of static code analysis to derive holistic architectural views of microservice systems. Microservice architecture is a key enabler of cloud-native systems, offering benefits such as decentralized development and scalability. However, managing such systems presents challenges, including difficulty in maintaining system quality and understanding inter-service dependencies. Static code analysis can help by extracting architectural information from codebases, enabling practitioners to understand system-wide dependencies and interactions. This paper argues that static analysis can provide a system-centered perspective, which is essential for quality assurance and system evolution.
The paper addresses two research questions: (1) Can static code analysis of individual microservices be used to determine the holistic system detail and dependencies? (2) Can static analysis produce inputs for architectural visualization in microservice systems?
The paper presents a method for reconstructing system architecture using static analysis, which generates an intermediate representation of the system. This representation can be used to create conventional visual models for system documentation. It also discusses the need for new visual models tailored to cloud-native systems, such as interactive visualization, 3D models, and augmented reality.
The main contribution of this paper is the overall perspective of microservice system architecture reconstruction using static analysis, with consequent information visualization aiding in software architecture analysis. This approach addresses gaps in the literature by integrating diverse expertise in programming languages, cloud-native systems, software architecture, and visualizations. The paper also provides proof-of-concept open-source tools to support these efforts.
The paper demonstrates that with automated system architecture reconstruction, it is possible to utilize various visualization approaches to present system information. It highlights the potential of recent advancements in data visualization to improve architectural analysis and understanding of microservice systems. The paper provides a broad overview of relevant visual models and builds proof-of-concept models to aid architecture analysis. It shows that with the Software Architecture Reconstruction (SAR) process in place, researchers and visualization experts can focus on constructing alternative visual models and assess them on realistic systems.This paper explores the use of static code analysis to derive holistic architectural views of microservice systems. Microservice architecture is a key enabler of cloud-native systems, offering benefits such as decentralized development and scalability. However, managing such systems presents challenges, including difficulty in maintaining system quality and understanding inter-service dependencies. Static code analysis can help by extracting architectural information from codebases, enabling practitioners to understand system-wide dependencies and interactions. This paper argues that static analysis can provide a system-centered perspective, which is essential for quality assurance and system evolution.
The paper addresses two research questions: (1) Can static code analysis of individual microservices be used to determine the holistic system detail and dependencies? (2) Can static analysis produce inputs for architectural visualization in microservice systems?
The paper presents a method for reconstructing system architecture using static analysis, which generates an intermediate representation of the system. This representation can be used to create conventional visual models for system documentation. It also discusses the need for new visual models tailored to cloud-native systems, such as interactive visualization, 3D models, and augmented reality.
The main contribution of this paper is the overall perspective of microservice system architecture reconstruction using static analysis, with consequent information visualization aiding in software architecture analysis. This approach addresses gaps in the literature by integrating diverse expertise in programming languages, cloud-native systems, software architecture, and visualizations. The paper also provides proof-of-concept open-source tools to support these efforts.
The paper demonstrates that with automated system architecture reconstruction, it is possible to utilize various visualization approaches to present system information. It highlights the potential of recent advancements in data visualization to improve architectural analysis and understanding of microservice systems. The paper provides a broad overview of relevant visual models and builds proof-of-concept models to aid architecture analysis. It shows that with the Software Architecture Reconstruction (SAR) process in place, researchers and visualization experts can focus on constructing alternative visual models and assess them on realistic systems.