Table of Contents
Fetching ...

Towards Change Impact Analysis in Microservices-based System Evolution

Tomas Cerny, Gabriel Goulis, Amr S. Abdelfattah

TL;DR

The paper tackles the problem of unintended consequences during microservice evolution by introducing Incremental Software Architecture Reconstruction (ISAR), which maintains a System Intermediate Representation (IR) and deltas to enable change impact analysis across decentralized services. It outlines a three-stage ISAR workflow (baseline IR, delta extraction, increment) and demonstrates feasibility via a PoC tool built on Prophet SAR, evaluated on eight Java Spring benchmarks with anomaly injection and historical analysis. The approach enables direct and indirect impact assessment, supports rule-based conflict detection, and yields actionable insights at the component level that can be integrated into development pipelines. The work highlights practical implications for reducing ripple effects, improving maintainability, and guiding decentralized teams, while acknowledging limitations of static analysis and the need for broader validation and visualization enhancements.

Abstract

Cloud-native systems are the mainstream for enterprise solutions, given their scalability, resilience, and other benefits. While the benefits of cloud-native systems fueled by microservices are known, less guidance exists on their evolution. One could assume that since microservices encapsulate their code, code changes remain encapsulated as well; however, the community is becoming more aware of the possible consequences of code change propagation across microservices. Moreover, an active mitigation instrument for negative consequences of change propagation across microservices (i.e., ripple effect) is yet missing, but the microservice community would greatly benefit from it. This paper introduces what it could look like to have an infrastructure to assist with change impact analysis across the entire microservice system and intends to facilitate advancements in laying out the foundations and building guidelines on microservice system evolution. It shares a new direction for incremental software architecture reconstruction that could serve as the infrastructure concept and demonstrates early results from prototyping to illustrate the potential impact.

Towards Change Impact Analysis in Microservices-based System Evolution

TL;DR

The paper tackles the problem of unintended consequences during microservice evolution by introducing Incremental Software Architecture Reconstruction (ISAR), which maintains a System Intermediate Representation (IR) and deltas to enable change impact analysis across decentralized services. It outlines a three-stage ISAR workflow (baseline IR, delta extraction, increment) and demonstrates feasibility via a PoC tool built on Prophet SAR, evaluated on eight Java Spring benchmarks with anomaly injection and historical analysis. The approach enables direct and indirect impact assessment, supports rule-based conflict detection, and yields actionable insights at the component level that can be integrated into development pipelines. The work highlights practical implications for reducing ripple effects, improving maintainability, and guiding decentralized teams, while acknowledging limitations of static analysis and the need for broader validation and visualization enhancements.

Abstract

Cloud-native systems are the mainstream for enterprise solutions, given their scalability, resilience, and other benefits. While the benefits of cloud-native systems fueled by microservices are known, less guidance exists on their evolution. One could assume that since microservices encapsulate their code, code changes remain encapsulated as well; however, the community is becoming more aware of the possible consequences of code change propagation across microservices. Moreover, an active mitigation instrument for negative consequences of change propagation across microservices (i.e., ripple effect) is yet missing, but the microservice community would greatly benefit from it. This paper introduces what it could look like to have an infrastructure to assist with change impact analysis across the entire microservice system and intends to facilitate advancements in laying out the foundations and building guidelines on microservice system evolution. It shares a new direction for incremental software architecture reconstruction that could serve as the infrastructure concept and demonstrates early results from prototyping to illustrate the potential impact.
Paper Structure (28 sections, 8 figures, 2 tables)

This paper contains 28 sections, 8 figures, 2 tables.

Figures (8)

  • Figure 1: Approach to change impact analysis using intermediate representation (IR) and deltas to maintain an up-to-date system overview
  • Figure 2: Example of the Component Call Graph cerny24cluster illustrating how a controllerendpoint connects to a service and repository that manages and initiates remote call while using 'Account' data entity
  • Figure 3: Example of combining Component Call Graphs cerny24cluster illustrating connections via dependencies given by remote calls and data overlaps. Fig. \ref{['fig:ccg']} is a detailed component view that is reduced to nodes in this figure
  • Figure 4: Example service dependency graph of connected microservices in train ticket system Zhou2018. Extract from the intermediate representation where a node illustrates a microservice with collapsed Component Call Graphs
  • Figure 5: Illustration of a list of evolving system intermediate representation versions with change deltas for increments. Red illustrates an update, green potential indirect change impact; an addition is orange
  • ...and 3 more figures