Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis
Tiago Matias (1), Filipe F. Correia (1,2), Jonas Fritzsch (4,5),, Justus Bogner (5,4), Hugo S. Ferreira (1,2), and Andr\'e Restivo (1,3) ((1), Faculty of Engineering, University of Porto, Portugal, (2) INESC TEC, FEUP, Campus, Portugal, (3) LIACC, FEUP Campus, Portugal

TL;DR
This paper presents MonoBreaker, a systematic method combining static and dynamic analysis to identify microservice boundaries, demonstrated through a real-world case study showing improved decomposition results.
Contribution
It introduces a novel systematic approach and a prototype tool for microservice boundary identification using combined static and dynamic analysis.
Findings
Participants favored the decomposition suggested by the tool.
The approach showed advantages over static-only analysis methods.
The case study demonstrated the feasibility of the combined analysis method.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
