CATMA: Conformance Analysis Tool For Microservice Applications
Clinton Cao, Simon Schneider, Nicolás E. Díaz Ferreyra, Sicco Verwer, Annibale Panichella, Riccardo Scandariato
TL;DR
The paper tackles the challenge of debugging microservice applications by enabling conformance analysis between statically extracted architectural models and dynamically inferred runtime models. It introduces CATMA, a modular tool that automatically detects non-conformances, visualizes them via PlantUML, and provides interpretable interpretations to guide debugging, all accessible through a CLI workflow. Evaluations on four open-source MSAs and a small pilot study show CATMA can significantly accelerate analysis and offer actionable insights, including a real misconfiguration case leading to a fix. The work contributes a novel approach to compare complete static and dynamic models in MSAs, with demonstrated potential to improve debugging efficiency and explainability, and outlines directions for more sophisticated interpretation generation and broader validation.
Abstract
The microservice architecture allows developers to divide the core functionality of their software system into multiple smaller services. However, this architectural style also makes it harder for them to debug and assess whether the system's deployment conforms to its implementation. We present CATMA, an automated tool that detects non-conformances between the system's deployment and implementation. It automatically visualizes and generates potential interpretations for the detected discrepancies. Our evaluation of CATMA shows promising results in terms of performance and providing useful insights. CATMA is available at \url{https://cyber-analytics.nl/catma.github.io/}, and a demonstration video is available at \url{https://youtu.be/WKP1hG-TDKc}.
