Automated Verification of Reactive and Concurrent Programs by Calculation

07/27/2020
by   Simon Foster, et al.
0

Reactive programs combine traditional sequential programming constructs with primitives to allow communication with other concurrent agents. They are ubiquitous in modern applications, ranging from components systems and web services, to cyber-physical systems and autonomous robots. In this paper, we present an algebraic verification strategy for concurrent reactive programs, with a large or infinite state space. We define novel operators to characterise interactions and state updates, and an associated equational theory. With this we can calculate a reactive program's denotational semantics, and thereby facilitate automated proof. Of note is our reasoning support for iterative programs with reactive invariants, based on Kleene algebra, and for parallel composition. We illustrate our strategy by verifying a reactive buffer. Our laws and strategy are mechanised in Isabelle/UTP, our implementation of Hoare and He's Unifying Theories of Programming (UTP) framework, to provide soundness guarantees and practical verification support.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/06/2018

Calculational Verification of Reactive Programs with Reactive Relations and Kleene Algebra

Reactive programs are ubiquitous in modern applications, and thus verifi...
research
04/14/2023

LoRe: A Programming Model for Verifiably Safe Local-First Software

Local-first software manages and processes private data locally while st...
research
10/18/2018

An Event-based Compositional Reasoning Approach for Concurrent Reactive Systems

Reactive systems are composed of a well defined set of input events that...
research
07/23/2018

Automating Verification of State Machines with Reactive Designs and Isabelle/UTP

State-machine based notations are ubiquitous in the description of compo...
research
07/18/2022

A Pattern-based deadlock-freedom analysis strategy for concurrent systems

Local analysis has long been recognised as an effective tool to combat t...
research
12/29/2017

Unifying Theories of Timed with Generalised Reactive Processes

Hoare and He's theory of reactive processes provides a unifying foundati...
research
08/28/2020

On modularity in reactive control architectures, with an application to formal verification

Modularity is a central principle throughout the design process for cybe...

Please sign up or login with your details

Forgot password? Click here to reset