Table of Contents
Fetching ...

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}.

CATMA: Conformance Analysis Tool For Microservice Applications

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}.
Paper Structure (6 sections, 5 figures, 2 tables)

This paper contains 6 sections, 5 figures, 2 tables.

Figures (5)

  • Figure 1: CATMA's workflow. Input models are processed(1) and non-conformances between them detected (2) and visualized (4). Each non-conformance is visualized (5) and possible interpretations for it are generated (3).
  • Figure 2: Example set of textual interpretations.
  • Figure 3: Part of state machine showing unexpected behavior.
  • Figure 4: Most frequent calls for unexpected behavior.
  • Figure 5: Example details for dynamic non-conformance.