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.
Recommended Citation
Anderson, Reid Barry, "Evaluating Distributed Software Design Conformance Through Trace Comparison" (2024). Theses and Dissertations. 6350.
https://commons.und.edu/theses/6350