Detecting deviations in the code using architecture view-based drift analysis

Burak Uzun, Bedir Tekinerdogan*

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

2 Citations (Scopus)

Abstract

Context: One of the key requirements for the code is conformance with the architecture. Architectural drift implies the diverging of the implemented code from the architecture design of the system. Manually checking the consistency between the implemented code and architecture can be intractable and cumbersome for large-scale systems. Objective: This article proposes a holistic, automated architecture drift analysis approach that explicitly focuses on the adoption of architecture views. The approach builds on, complements, and enhances existing architecture conformance analysis methods that do not adopt a holistic approach or fail to address the architecture viewpoints. Method: A model-driven development approach is adopted in which architecture views are represented as specifications of domain-specific languages. The code in its turn, is analyzed, and the architectural view specifications are reconstructed, which are then automatically checked with the corresponding architecture models. Results: To illustrate the approach, we have applied a systematic case study research for an architecture drift analysis of the business-to-customer (B2C) system within a large-scale software company. Conclusion: The case study research showed that divergences and absences of architectural elements could be detected in a cost-effective manner with the proposed approach.

Original languageEnglish
Article number103774
Number of pages18
JournalComputer Standards and Interfaces
Volume87
DOIs
Publication statusPublished - Jan 2024

Keywords

  • Architecture drift
  • Architecture drift analysis
  • Model-driven development
  • Software architecture reconstruction

Fingerprint

Dive into the research topics of 'Detecting deviations in the code using architecture view-based drift analysis'. Together they form a unique fingerprint.

Cite this