Detecting Architectural Erosion using Runtime Verification

Diego Marmsoler
(Technische Universität München)
Ana Petrovska
(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.

In Massimo Bartoletti, Ludovic Henrio, Anastasia Mavridou and Alceste Scalas: Proceedings 12th Interaction and Concurrency Experience (ICE 2019), Copenhagen, Denmark, 20-21 June 2019, Electronic Proceedings in Theoretical Computer Science 304, pp. 97–114.
Published: 12th September 2019.

ArXived at: https://dx.doi.org/10.4204/EPTCS.304.7 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org