Distributed Architecture Reconstruction of Polyglot and Multi-Repository Microservice Projects
Oscar Manglaras, Alex Farkas, Thomas Woolford, Christoph Treude, Markus Wagner

TL;DR
This paper introduces a flexible framework for static architecture reconstruction of polyglot, multi-repo microservice projects, enabling accurate documentation despite architectural complexity and independent service evolution.
Contribution
It proposes a novel, extensible framework supporting technology-specific extractors and distributed analysis, improving over existing static reconstruction approaches.
Findings
Supports multi-repo environments for architecture reconstruction
Enables integration with existing static analysis tools
Provides a modular, technology-agnostic analysis framework
Abstract
Microservice architectures encourage the use of small, independently developed services; however, this can lead to increased architectural complexity. Accurate documentation is crucial, but is challenging to maintain due to the rapid, independent evolution of services. While static architecture reconstruction provides a way to maintain up-to-date documentation, existing approaches suffer from technology limitations, mono-repo constraints, or high implementation barriers. This paper presents a novel framework for static architecture reconstruction that supports technology-specific analysis modules, called \emph{extractors}, and supports \emph{distributed architecture reconstruction} in multi-repo environments. We describe the core design concepts and algorithms that govern how extractors are executed, how data is passed between them, and how their outputs are unified. Furthermore, the…
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 · Cloud Computing and Resource Management · Advanced Software Engineering Methodologies
