Calculational Verification of Reactive Programs with Reactive Relations and Kleene Algebra

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Reactive programs are ubiquitous in modern applications, and so verification is highly desirable. We present a verification strategy for reactive programs with a large or infinite state space utilising algebraic laws for reactive relations. 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, which is supported by Kleene algebra. We illustrate our strategy by verifying a reactive buffer. Our laws and strategy are mechanised in Isabelle/UTP, which provides soundness guarantees, and practical verification support.
Original languageEnglish
Title of host publicationRelational and Algebraic Methods in Computer Science - 17th International Conference, RAMiCS 2018, Proceedings
EditorsWalter Guttmann, Jules Desharnais, Stef Joosten
Number of pages20
ISBN (Print)9783030021481
Publication statusPublished - 1 Nov 2018

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11194 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Bibliographical note

© 2018, Springer Nature Switzerland AG. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details.

Cite this