Runtime verification
View article
MCMAS: an open-source model checker for the verification of multi-agent systems Open
We present MCMAS, a model checker for the verification of multi-agent systems. MCMAS supports efficient symbolic techniques for the verification of multi-agent systems against specifications representing temporal, epistemic and strategic p…
View article
Leveraging rust types for modular specification and verification Open
Rust's type system ensures memory safety: well-typed Rust programs are guaranteed to not exhibit problems such as dangling pointers, data races, and unexpected side effects through aliased references. Ensuring correctness properties beyond…
View article
TeSSLa: Temporal Stream-Based Specification Language Open
Runtime verification is concerned with monitoring program traces. In particular, stream runtime verification (SRV) takes the program trace as input streams and incrementally derives output streams. SRV can check logical properties and comp…
View article
First international Competition on Runtime Verification: rules, benchmarks, tools, and final results of CRV 2014 Open
The first international Competition on Runtime
\nVerification (CRV) was held in September 2014, in Toronto,
\nCanada, as a satellite event of the 14th international conference
\non Runtime Verification (RV’14). The event was
\norganized in…
View article
Competition on Software Verification and Witness Validation: SV-COMP 2023 Open
The 12th edition of the Competition on Software Verification (SV-COMP 2023) is again the largest overview of tools for software verification, evaluating 52 verification systems from 34 teams from 10 countries. Besides providing an overview…
View article
A Survey of Runtime Monitoring Instrumentation Techniques Open
Runtime Monitoring is a lightweight and dynamic verification technique that\ninvolves observing the internal operations of a software system and/or its\ninteractions with other external entities, with the aim of determining whether\nthe sy…
View article
Formal verification of machine-code programs Open
Formal program verification provides mathematical means of increasing assurance for the correctness of software. Most approaches to program verification are either fully automatic and prove only weak properties, or alternatively are manual…
View article
Timed runtime monitoring for multiparty conversations Open
We propose a dynamic verification framework for protocols in real-time distributed systems. The framework is based on Scribble, a tool-chain for design and verification of choreographies based on multiparty session types, which we have dev…
View article
Modularity for decidability of deductive verification with applications to distributed systems Open
Proof automation can substantially increase productivity in formal verification of complex systems. However, unpredictablility of automated provers in handling quantified formulas presents a major hurdle to usability of these tools. We pro…
View article
CompCertM: CompCert with C-assembly linking and lightweight modular verification Open
Supporting multi-language linking such as linking C and handwritten assembly modules in the verified compiler CompCert requires a more compositional verification technique than that used in CompCert just supporting separate compilation. Th…
View article
CoVeriTeam: On-Demand Composition of Cooperative Verification Systems Open
There is no silver bullet for software verification: Different techniques have different strengths. Thus, it is imperative to combine the strengths of verification tools via combinations and cooperation. CoVeriTeam is a language and tool f…
View article
Reliable Task Management Based on a Smart Contract for Runtime Verification of Sensing and Actuating Tasks in IoT Environments Open
With the gradual popularization of Internet-of-Things (IoT) applications and the development of wireless networking technologies, the use of heterogeneous devices and runtime verification of task fulfillment with different constraints are …
View article
Runtime Monitoring for Safety-Critical Embedded Systems Open
The trend towards more commercial-off-the-shelf (COTS) components in complex safety-critical systems is increasing the difficulty of verifying system correctness. Runtime verification (RV) is a lightweight technique to verify that certain …
View article
The Verification of Ecological Citizen Science Data: Current Approaches and Future Possibilities Open
Citizen science schemes enable ecological data collection over very large spatial and temporal scales, producing datasets of high value for both pure and applied research. However, the accuracy of citizen science data is often questioned, …
View article
A Novel Runtime Verification Solution for IoT Systems Open
Internet of Things (IoT) systems promise a seamless connected world with machines integrating their services without human intervention. It's highly probable that the entities participating in such autonomous machine to machine interaction…
View article
Verification of Cyberphysical Systems Open
The value of verification of cyberphysical systems depends on the relationship between the state of the software and the state of the physical system. This relationship can be complex because of the real-time nature and different timelines…
View article
Rapidly Adjustable Non-intrusive Online Monitoring for Multi-core Systems Open
This paper presents an approach for rapidly adjustable embedded trace online monitoring of multi-core systems, called RETOM. Today, most commercial multi-core SoCs provide accurate runtime information through an embedded trace unit without…
View article
Gradual Program Verification Open
Both static and dynamic program verification approaches have significant disadvantages when considered in isolation. Inspired by research on gradual typing, we propose gradual verification to seamlessly and flexibly combine static and dyna…
View article
Automated Translation of Natural Language Requirements to Runtime Monitors Open
Runtime verification (RV) enables monitoring systems at runtime, to detect property violations early and limit their potential consequences. This paper presents an end-to-end framework to capture requirements in structured natural language…
View article
E-ACSL, a Runtime Verification Tool for Safety and Security of C Programs (tool paper) Open
This tool paper presents E-ACSL, a runtime verification tool for C programs capable of checking a broad range of safety and security properties expressed using a formal specification language. E-ACSL consumes a C program annotated with for…
View article
Igloo: soundly linking compositional refinement and separation logic for distributed system verification Open
Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement between an abstract system specification and an executable implementation. Existing a…
View article
TeSSLa – An Ecosystem for Runtime Verification Open
Runtime verification deals with checking correctness properties on the runs of a system under scrutiny. To achieve this, it addresses a variety of sub-problems related to monitoring of systems: These range from the appropriate design of a …
View article
Failure-aware Runtime Verification of Distributed Systems Open
Prior runtime-verification approaches for distributed systems are limited as they do not account for network failures and they assume that system messages are received in the order they are sent. To overcome these limitations, we present a…
View article
Monitoring Constraints and Metaconstraints with Temporal Logics on Finite Traces Open
Runtime monitoring is a central operational decision support task in business process management. It helps process executors to check on-the-fly whether a running process instance satisfies business constraints of interest, providing an im…
View article
SyLVaaS: System Level Formal Verification as a Service* Open
The goal of System Level Formal Verification is to show system correctness notwithstanding uncontrollable events (disturbances), as for example faults, variations in system parameters, external inputs, etc. This may be achieved with an exh…
View article
Coverage-Driven Verification - An approach to verify code for robots that directly interact with humans Open
Collaborative robots could transform several industries, such as manufacturing and healthcare, but they present a significant challenge to verification. The complex nature of their working environment necessitates testing in realistic deta…
View article
Self-Adaptive Framework Based on MAPE Loop for Internet of Things Open
The Internet of Things (IoT) connects a wide range of objects and the types of environments in which IoT can be deployed dynamically change. Therefore, these environments can be modified dynamically at runtime considering the emergence of …
View article
Certifying Proofs for LTL Model Checking Open
In the context of formal verification, certifying proofs are proofs of the correctness of a model in a deduction system produced automatically as outcome of the verification. They are quite appealing for high-assurance systems because they…
View article
RaM: Causally-Connected and Requirements-Aware Runtime Models using Bayesian Learning Open
[Context/Motivation] A model at runtime can be defined as an abstract representation of a system, including its structure and behaviour, which exist alongside with the running system. Runtime models provide support for decision-making and …
View article
Distributed Graph Queries for Runtime Monitoring of Cyber-Physical Systems Open
In safety-critical cyber-physical systems (CPS), a service failure may result in severe financial loss or damage in human life. Smart CPSs have complex interaction with their environment which is rarely known in advance, and they heavily d…