ModARO: A Modular Approach to Architecture Reconstruction of Distributed Microservice Codebases
Oscar Manglaras, Alex Farkas, Thomas Woolford, Christoph Treude, Markus Wagner

TL;DR
ModARO is a modular framework that enables reusable, technology-agnostic architecture reconstruction of distributed microservice codebases, facilitating understanding and maintenance of complex systems across repositories.
Contribution
It introduces a modular approach with extractors for architecture reconstruction, allowing reuse across projects regardless of technology stack or repository structure.
Findings
Successfully reconstructed 10 open source projects
Outperformed state-of-the-art baseline in user study
Enabled architecture reconstruction across multiple repositories
Abstract
Microservice architectures promote small, independently developed services, but increase overall architectural complexity. It is crucial that developers understand the architecture and how changes to a service affect the overall system, but rapid and independent development of services increases the risk of architectural drift and discourages the creation and maintenance of documentation. Automatic architecture reconstruction can help avoid these issues, but it is difficult to reuse reconstruction code across multiple projects, as all use different combinations of technologies and project-specific conventions. Reconstruction of architecture-level details is further complicated by the tendency to split microservices into separate repositories, preventing a full view of the system from any one codebase. In this paper, we present and evaluate ModARO, an approach to microservice…
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.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Engineering Research · Software Testing and Debugging Techniques
