DeepAI AI Chat
Log In Sign Up

Detecting Architectural Erosion using Runtime Verification

by   Diego Marmsoler, et al.
Technische Universität München

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.


page 9

page 15


A Taxonomy of Modeling Approaches for Systems-of-Systems Dynamic Architectures: Overview and Prospects

Systems-of-Systems (SoS) result from the collaboration of independent Co...

Adaptation and Abstract Runtime Models

Runtime adaptability is often a crucial requirement for today's complex ...

Archify: A Recommender System of Architectural Design Decisions

Software architectures play a critical role in software quality assuranc...

An Energy-aware Mutation Testing Framework for EAST-ADL Architectural Models

Early design artifacts of embedded systems, such as architectural models...

Formal Semantics of Architectural Decision Models

A software architecture is the result of multiple decisions made by a so...

The Remaining Improbable: Toward Verifiable Network Services

The trustworthiness of modern networked services is too important to lea...

Code Repositories


A desktop application for fast UML diagramming.

view repo