# Assessing Evolution of Microservices Using Static Analysis
## 3 The Proposed Centric Metrics
### Centric Metrics Methodology Overview  
An architecture view is a collection of models representing the system architecture relative to a set of architectural concerns. In particular, the service view constructs service models specifying microservices, endpoints, and interactions. This essential view provides the system's holistic perspective [7] is used to explain the system dependencies and the overall microservice ecosystem and becomes useful when assessing potential ripple effects during microservice evolution [2]. Similarly, the data view uses data models to explain \begin{table}
\begin{tabular}{|p{85.4 pt}|p{85.4 pt}|p{85.4 pt}|p{85.4 pt}|} \hline
**Study** & **Focus of Analysis** & **Extracted Metrics** & **Analysis Methods** \\ \hline [PERSON] et al. [2] & Challenges in microservice evolution and system dimensions & No specific metrics introduced & High-level analysis, surveys \\ \hline [PERSON] et al. [12] & API change propagation and team communication & No metrics, analysis of ripple effects & Surveys \\ \hline [PERSON] et al. [20] & Architecture conformance through detection of absences and divergences from the high-level architectural model & No metrics, four heuristics for absences and divergences & Static and historical source code analysis \\ \hline [PERSON] et al. [27] & Frequency of interactions between microservices and their significance & Service-level interaction metrics & Static analysis, empirical case studies \\ \hline [PERSON] et al. [21] & Microservice deployment topology & Deployment topology metrics (container interactions) & Docker configuration analysis \\ \hline [PERSON] et al. [29] & Microservice evolution based on API and architectural metrics & Five high-level architectural metrics (API endpoints) & Source code analysis using regular expressions \\ \hline
**Proposed Method (This Paper)** & System-centric analysis of microservice evolution & Seven system-centric metrics focusing on the component-based architectural service and data viewpoints. & Static analysis, automated extraction and data viewpoints. & Static analysis, automated extraction \\ \hline \end{tabular}
\end{table} 
Table 1: Comparison of proposed method with existing approaches. which data are used by which microservice and their interconnection. We can highlight the presence of data entity overlaps, which signifies a coupling between particular services. While architecture viewpoints serve as a frame of reference for addressing concerns pertinent to the architecture description's purpose [3], this approach utilizes SAR approach [8; 9] using static analysis for microservices to generate service and data views corresponding to particular viewpoints. Consequently, analyzing these views yields a timeline of the system's evolution, facilitating an understanding of the motivations behind modifications and the broader impact of these changes. The methodology is outlined in Figure 1 as follows:  
1. **Intermediate Representation Construction (Section 3.2)**: This phase receives the source code of the microservices projects. It extracts the architectural components and constructs an intermediate representation for each of these two service and data central viewpoints, as illustrated in Figure 2.
2. **Metrics Definition (Section 3.3)**: It employs the constructed intermediate representations to introduce seven convenient and automated metrics derived and adapted from both the service (_S1_, _S2_) and data (_D1-D5_) views. These metrics are designed to quantify changes within both aspects of the architecture to serve as indicators of the system's main development stream and offer early insights into potential architectural degradation. 3. **Demonstrating Example (Section 3.4)**: It provides an example of how the methodology operates to extract and calculate the proposed metrics. The objective of employing this methodology is to regularly calculate these metrics to provide practitioners and architects with a comprehensive understanding of the system and its evolution, enabling informed decisions to optimize the architecture.