DeepAI AI Chat
Log In Sign Up

Detecting Architectural Erosion using Runtime Verification

09/12/2019
by   Diego Marmsoler, et al.
Technische Universität München
0

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.

READ FULL TEXT

page 9

page 15

02/25/2019

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...
05/17/2018

Adaptation and Abstract Runtime Models

Runtime adaptability is often a crucial requirement for today's complex ...
06/15/2021

Archify: A Recommender System of Architectural Design Decisions

Software architectures play a critical role in software quality assuranc...
02/04/2018

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

Early design artifacts of embedded systems, such as architectural models...
07/08/2018

Formal Semantics of Architectural Decision Models

A software architecture is the result of multiple decisions made by a so...
09/27/2020

The Remaining Improbable: Toward Verifiable Network Services

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

Code Repositories

JetUML

A desktop application for fast UML diagramming.


view repo