English
Related papers

Related papers: Detecting Architectural Erosion using Runtime Veri…

200 papers

Architecture patterns capture architectural design experience and provide abstract solutions to recurring architectural design problems. They consist of a description of component types and restrict component connection and activation.…

Software Engineering · Computer Science 2017-03-22 Diego Marmsoler , Silvio Degenhardt

Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which…

Software Engineering · Computer Science 2011-11-30 Humaira Farid , Farooque Azam , M. Aqeel Iqbal

During software development, developers often make numerous modifications to the software to address existing issues or implement new features. However, certain changes may inadvertently have a detrimental impact on the overall system…

Software Engineering · Computer Science 2024-08-16 Lizhi Liao , Simon Eismann , Heng Li , Cor-Paul Bezemer , Diego Elias Costa , Andre van Hoorn , Weiyi Shang

Software systems are not static, they have to undergo frequent changes to stay fit for purpose, and in the process of doing so, their complexity increases. It has been observed that this process often leads to the erosion of the systems…

Software Engineering · Computer Science 2018-07-18 David Baum , Jens Dietrich , Craig Anslow , Richard Müller

In runtime verification, the central problem is to decide if a given program execution violates a given property. In online runtime verification, a monitor observes a program's execution as it happens. If the program being observed has hard…

Data Structures and Algorithms · Computer Science 2015-05-15 Radu Grigore , Stefan Kiefer

Software product lines (SPL) have emerged as a pivotal paradigm in software engineering, enabling the efficient development of variant-rich software systems. Consistently updating these systems, often through over-the-air updates, enables…

Software Engineering · Computer Science 2024-07-08 Johannes Stümpfle , Nasser Jazdi , Michael Weyrich

Software bugs in cloud management systems often cause erratic behavior, hindering detection, and recovery of failures. As a consequence, the failures are not timely detected and notified, and can silently propagate through the system. To…

Software Engineering · Computer Science 2022-03-09 Domenico Cotroneo , Luigi De Simone , Pietro Liguori , Roberto Natella , Angela Scibelli

Autonomous systems must sustain justified confidence in their correctness and safety across their operational lifecycle-from design and deployment through post-deployment evolution. Traditional assurance methods often separate…

Software Engineering · Computer Science 2025-11-20 Dhaminda B. Abeywickrama , Michael Fisher , Frederic Wheeler , Louise Dennis

With the increased dependence on software, there is a pressing need for engineering long-lived software. As architectures have a profound effect on the life-span of the software and the provisioned quality of service, stable architectures…

Software Engineering · Computer Science 2019-12-16 Maria Salama , Rami Bahsoon , Rajkumar Buyya

Robotic systems are becoming pervasive and adopted in increasingly many domains, such as manufacturing, healthcare, and space exploration. To this end, engineering software has emerged as a crucial discipline for building maintainable and…

Runtime enforcers can be used to ensure that running applications satisfy desired correctness properties. Although runtime enforcers that are correct-by-construction with respect to abstract behavioral models are relatively easy to specify,…

Software Engineering · Computer Science 2022-10-25 Oliviero Riganelli , Daniela Micucci , Leonardo Mariani

Finite-state models are ubiquitous in the study of concurrent systems, especially controllers and servers that operate in a repetitive cycle. In this paper, we show how to extract finite state models from a run of a multi-threaded Java…

Software Engineering · Computer Science 2024-07-26 KP Jevitha , Bharat Jayaraman , M Sethumadhavan

Autonomous and robotic systems are increasingly being trusted with sensitive activities with potentially serious consequences if that trust is broken. Runtime verification techniques present a natural source of inspiration for monitoring…

Cryptography and Security · Computer Science 2023-10-05 Robert Abela , Christian Colombo , Axel Curmi , Mattea Fenech , Mark Vella , Angelo Ferrando

Trusting software systems, particularly autonomous ones, is challenging. To address this, formal verification techniques can ensure these systems behave as expected. Runtime Verification (RV) is a leading, lightweight method for verifying…

Formal Languages and Automata Theory · Computer Science 2024-08-22 Angelo Ferrando , Vadim Malvone

The rise of transient faults in modern hardware requires system designers to consider errors occurring at runtime. Both hardware- and software-based error handling must be deployed to meet application reliability requirements. The level of…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-23 Björn Bönninghoff , Horst Schirmeier

This paper presents the result of our experience with the ap- plication of runtime verification, testing and static analysis techniques to several industrial projects. We discuss the eight most relevant challenges that we experienced, and…

Software Engineering · Computer Science 2017-05-24 Fabrizio Pastore , Leonardo Mariani

Architectural decay imposes real costs in terms of developer effort, system correctness, and performance. Over time, those problems are likely to be revealed as explicit implementation issues (defects, feature changes, etc.). Recent…

Software Engineering · Computer Science 2021-02-22 Duc Minh Le , Suhrid Karthik , Marcelo Schmitt Laser , Nenad Medvidovic

Formal verification provides strong safety guarantees but only for models of cyber-physical systems. Hybrid system models describe the required interplay of computation and physical dynamics, which is crucial to guarantee what computations…

Logic in Computer Science · Computer Science 2019-02-26 Stefan Mitsch , André Platzer

During its lifetime, a program suffers several changes that seek to improve or to augment some parts of its functionality. However, these modifications usually also introduce errors that affect the already-working code. There are several…

Programming Languages · Computer Science 2019-02-06 Lars-Åke Fredlund , Julio Mariño , Sergio Pérez , Salvador Tamarit

Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as…

Programming Languages · Computer Science 2018-04-09 Maximiliano Klemen , Nataliia Stulova , Pedro Lopez-Garcia , José F. Morales , Manuel V. Hermenegildo