Automatic Design-Time Detection of Anomalies in Migrating Monolithic Applications to Microservices

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Romão, Valentim, Soares, Rafael, Rodrigues, Luís, Manquinho, Vasco
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912389670109184
author Romão, Valentim
Soares, Rafael
Rodrigues, Luís
Manquinho, Vasco
author_facet Romão, Valentim
Soares, Rafael
Rodrigues, Luís
Manquinho, Vasco
contents The advent of microservices has led multiple companies to migrate their monolithic systems to this new architecture. When decomposing a monolith, a functionality previously implemented as a transaction may need to be implemented as a set of independent sub-transactions, possibly executed by multiple microservices. The concurrent execution of decomposed functionalities may interleave in ways that were impossible in the monolith, paving the way for anomalies to emerge. The anomalies that may occur critically depend on how the monolith is decomposed. The ability to assess, at design time, the anomalies that different decompositions may generate is key to guide the programmers in finding the most appropriate decomposition that matches their goals. This paper introduces MAD, the first framework for automatically detecting anomalies that are introduced by a given decomposition of a monolith into microservices. MAD operates by encoding non-serializable executions of the original functionalities as an SMT formula and then using a solver to find satisfiable assignments that capture the anomalous interleavings made possible by that specific decomposition. We have applied MAD to different benchmarks and show that it can identify precisely the causes of potential anomalous behavior for different decompositions.
format Preprint
id arxiv_https___arxiv_org_abs_2505_17927
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Automatic Design-Time Detection of Anomalies in Migrating Monolithic Applications to Microservices
Romão, Valentim
Soares, Rafael
Rodrigues, Luís
Manquinho, Vasco
Software Engineering
The advent of microservices has led multiple companies to migrate their monolithic systems to this new architecture. When decomposing a monolith, a functionality previously implemented as a transaction may need to be implemented as a set of independent sub-transactions, possibly executed by multiple microservices. The concurrent execution of decomposed functionalities may interleave in ways that were impossible in the monolith, paving the way for anomalies to emerge. The anomalies that may occur critically depend on how the monolith is decomposed. The ability to assess, at design time, the anomalies that different decompositions may generate is key to guide the programmers in finding the most appropriate decomposition that matches their goals. This paper introduces MAD, the first framework for automatically detecting anomalies that are introduced by a given decomposition of a monolith into microservices. MAD operates by encoding non-serializable executions of the original functionalities as an SMT formula and then using a solver to find satisfiable assignments that capture the anomalous interleavings made possible by that specific decomposition. We have applied MAD to different benchmarks and show that it can identify precisely the causes of potential anomalous behavior for different decompositions.
title Automatic Design-Time Detection of Anomalies in Migrating Monolithic Applications to Microservices
topic Software Engineering
url https://arxiv.org/abs/2505.17927