DeepAI
Log In Sign Up

Verified Rust Monitors for Lola Specifications

12/15/2020
by   Bernd Finkbeiner, et al.
0

The safety of cyber-physical systems rests on the correctness of their monitoring mechanisms. This is problematic if the specification of the monitor is implemented manually or interpreted by unreliable software. We present a verifying compiler that translates specifications given in the stream-based monitoring language Lola to implementations in Rust. The generated code contains verification annotations that enable the Viper toolkit to automatically prove functional correctness, absence of memory faults, and guaranteed termination. The compiler parallelizes the evaluation of different streams in the monitor based on a dependency analysis of the specification. We present encouraging experimental results obtained with monitor specifications found in the literature. For every specification, our approach was able to either produce a correctness proof or to uncover errors in the specification.

READ FULL TEXT

page 1

page 2

page 3

page 4

12/15/2020

Monitoring Cyber-Physical Systems: From Design to Integration

Cyber-physical systems are inherently safety-critical. The deployment of...
10/22/2021

Monitoring with Verified Guarantees

Runtime monitoring is generally considered a light-weight alternative to...
11/14/2022

Specification and Verification with the TLA+ Trifecta: TLC, Apalache, and TLAPS

Using an algorithm due to Safra for distributed termination detection as...
11/10/2017

Real-time Stream-based Monitoring

We introduce RTLola, a new stream-based specification language for the d...
04/25/2022

Offline and online monitoring of scattered uncertain logs using uncertain linear dynamical systems

Monitoring the correctness of distributed cyber-physical systems is esse...
12/07/2014

On the Behavioural Formalization of the Cognitive Middleware AWDRAT

We present our ongoing work and initial results towards the (behavioral)...
07/25/2020

Efficient Two-Layered Monitor for Partially Synchronous Distributed Systems (Technical Report)

Monitoring distributed systems to ensure their correctness is a challeng...