A Variable Order Markov Model for Architecture Conformance Checking
Keywords:
conformance checks, tool support, variable order markov model, use case maps, software architectureAbstract
Conformance between architecture and
implementation is a key aspect of architecture-centric
development. However, the architecture “as documented” and
the architecture “as implemented” tend to diverge from each
other over time. Thus, conformance checks should be run
periodically on the system in order to detect and correct
differences. Despite having a structural conformance analysis,
assessing whether the main scenarios describing the architectural
behavior are faithfully implemented in the code is still
challenging. Checking conformance to architectural scenarios is
usually a time-consuming and error-prone activity. In this
article, we describe ArchLearner, a tool to assist architects to
bridge the gap between architecture and its implementation. The
architecture is specified with Use-Case Maps (UCMs), a notation
for modeling both high-level structure and behavior.
ArchLearner uses Variable Order Markov Models to detect code
deviations with respect to predetermined UCMs, based on the
analysis of system execution traces for those UCMs. The results
from two case-studies have shown that ArchLearner is practical
and reduces conformance checking efforts.