Date of Award

May 2024

Document Type

Thesis

Degree Name

Master of Science (MS)

Department

Computer Science

First Advisor

Hassan Reza

Abstract

The design of a system and its implementation are two tasks often carried out by different individuals on a development team and can occur weeks or months apart. This creates a potential for divergence between real behavior and the designed model that the implementation is intended to match. Particularly as time passes and individuals that were present for the original conception of the design leave, a system can begin to lose coherence and drift apart from intended design principles. Even with a robust and high-quality design for a software system, more is needed to guarantee that the key details of the implementation match the design, and that adherence to a particular strategy is not lost over time as changes are made. This paper proposes an approach to address such concerns for distributed systems using conformance checking, a methodology borrowed from process mining. Distributed traces produced by instrumented applications are evaluated as either conformant or non-conformant by comparing them to design traces. The result is a quantitative metric that can be tracked over time to determine how closely a concrete implementation corresponds to the key attributes of the expected design model. This analysis is done using the dominant industry standard, OpenTelemetry, and so should be applicable to a wide range of distributed systems, with particular application to microservice architectures.

Share

COinS