SEDCLOSep 12, 2019

Detecting Architectural Erosion using Runtime Verification

arXiv:1909.05973v14 citations
Originality Incremental advance
AI Analysis

This addresses architectural erosion, a common issue in industry that affects system quality, by providing a method for dynamic architectures where static analysis falls short.

The paper tackles the problem of detecting architectural erosion in dynamic systems by proposing a runtime verification approach, which is implemented in Eclipse/EMF and evaluated through case studies.

The architecture of a system captures important design decisions for the system. Over time, changes in a system's implementation may lead to violations of specific design decisions. This problem is common in industry and known as architectural erosion. Since it may have severe consequences on the quality of a system, research has focused on the development of tools and techniques to address the presented problem. As of today, most of the approaches to detect architectural erosion employ static analysis techniques. While these techniques are well-suited for the analysis of static architectures, they reach their limit when it comes to dynamic architectures. Thus, in this paper, we propose an alternative approach based on runtime verification. To this end, we propose a systematic way to translate a formal specification of architectural constraints to monitors, which can be used to detect violations of these constraints. The approach is implemented in Eclipse/EMF, demonstrated through a running example, and evaluated using two case studies.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes