Article ID Journal Published Year Pages File Type
551233 Information and Software Technology 2012 19 Pages PDF
Abstract

ContextConformance between architecture and implementation is a key aspect of architecture-centric development. Unfortunately, the architecture “as documented” and the architecture “as implemented” tend to diverge from each other over time. As this gap gets wider, the architects’ reliance on architecture-level analyses is compromised. Thus, conformance checks should be run periodically on the system in order to detect and correct differences. In practice, tool support is very beneficial for these checks.ObjectiveDespite 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 a tool approach called ArchSync that helps architects to reconcile a scenario-based architectural description with its source code, as changes are being made on the code.MethodThe architecture is specified with Use-Case Maps (UCMs), a notation for modeling both high-level structure and behavior. ArchSync applies heuristics that incrementally detect code deviations with respect to predetermined UCMs, based on the analysis of system execution traces for those UCMs. Also, ArchSync provides suggestions for re-synchronizing the UCMs with the code.ResultsWe have evaluated a prototype of ArchSync in three medium-size case-studies, involving developers with moderate architecture experience. We compared time consumed, code browsed and suggestions for re-synchronizing the UCMs by these developers, with and without the support of ArchSync.ConclusionThe results from case-studies and lessons learned have shown that the ArchSync approach is practical and reduces conformance checking efforts.

Related Topics
Physical Sciences and Engineering Computer Science Human-Computer Interaction
Authors
, , , ,