Foster, Simon orcid.org/0000-0002-9889-9514, Ye, Kangfeng, Cavalcanti, Ana orcid.org/0000-0002-0831-1976 et al. (1 more author) (2021) Automated verification of reactive and concurrent programs by calculation. Journal of Logical and Algebraic Methods in Programming. 100681. ISSN 2352-2216
Abstract
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.
Metadata
Item Type: | Article |
---|---|
Authors/Creators: |
|
Copyright, Publisher and Additional Information: | This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. |
Keywords: | cs.LO,cs.PL |
Dates: |
|
Institution: | The University of York |
Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
Depositing User: | Pure (York) |
Date Deposited: | 04 Aug 2020 12:40 |
Last Modified: | 16 Oct 2024 16:51 |
Published Version: | https://doi.org/10.1016/j.jlamp.2021.100681 |
Status: | Published |
Refereed: | Yes |
Identification Number: | 10.1016/j.jlamp.2021.100681 |
Related URLs: | |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:164020 |