Comparison of Static Analysis Architecture Recovery Tools for Microservice Applications
Simon Schneider, Alexander Bakhtin, Xiaozhou Li, Jacopo Soldani,, Antonio Brogi, Tomas Cerny, Riccardo Scandariato, Davide Taibi

TL;DR
This study compares static architecture recovery tools for microservice applications, highlighting their accuracy and exploring combinations to improve architecture detection, with the best tool achieving an F1-score of 0.86.
Contribution
It provides a comprehensive comparison of static architecture recovery tools for microservices and demonstrates how combining tools can enhance accuracy.
Findings
Best tool achieved an F1-score of 0.86.
Combining four tools increased F1-score to 0.91.
Static tools are suitable for CI/CD pipelines in microservice environments.
Abstract
Architecture recovery tools help software engineers obtain an overview of the structure of their software systems during all phases of the software development life cycle. This is especially important for microservice applications because they consist of multiple interacting microservices, which makes it more challenging to oversee the architecture. Various tools and techniques for architecture recovery (also called architecture reconstruction) have been presented in academic and gray literature sources, but no overview and comparison of their accuracy exists. This paper presents the results of a multivocal literature review with the goal of identifying architecture recovery tools for microservice applications and a comparison of the identified tools' architectural recovery accuracy. We focused on static tools since they can be integrated into fast-paced CI/CD pipelines. 13 such tools…
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.
Code & Models
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 · Software Testing and Debugging Techniques
