SEDCJul 12, 2020

Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis

arXiv:2007.05948v12 citations
AI Analysis

This addresses the challenge of microservice decomposition for software engineers, but it is incremental as it builds on existing methods by adding dynamic analysis.

The paper tackled the problem of identifying service boundaries when decomposing monoliths to microservices by proposing a systematic approach combining static and dynamic analysis, resulting in a tool (MonoBreaker) that was positively evaluated by participants in a case study as improving over static-only methods.

A number of approaches have been proposed to identify service boundaries when decomposing a monolith to microservices. However, only a few use systematic methods and have been demonstrated with replicable empirical studies. We describe a systematic approach for refactoring systems to microservice architectures that uses static analysis to determine the system's structure and dynamic analysis to understand its actual behavior. A prototype of a tool was built using this approach (MonoBreaker) and was used to conduct a case study on a real-world software project. The goal was to assess the feasibility and benefits of a systematic approach to decomposition that combines static and dynamic analysis. The three study participants regarded as positive the decomposition proposed by our tool, and considered that it showed improvements over approaches that rely only on static analysis.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes