Automated Verification of Reactive and Concurrent Programs by Calculation

@article{Foster2020AutomatedVO,
  title={Automated Verification of Reactive and Concurrent Programs by Calculation},
  author={Simon Foster and Kangfeng Ye and Ana Cavalcanti and Jim Woodcock},
  journal={J. Log. Algebraic Methods Program.},
  year={2020},
  volume={121},
  pages={100681}
}
1 Citations

Figures and Tables from this paper

Formally Verified Simulations of State-Rich Processes using Interaction Trees in Isabelle/HOL

This paper develops the core theory and verification techniques for Interaction Trees, uses them to give a semantics to the CSP and Circus languages, and formally link their new semantics with the failures-divergences semantic model.

References

SHOWING 1-10 OF 56 REFERENCES

Calculational Verification of Reactive Programs with Reactive Relations and Kleene Algebra

This work presents a verification strategy for reactive programs with a large or infinite state space utilising algebraic laws for reactive relations, and defines novel operators to characterise interactions and state updates, and an associated equational theory.

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

This paper presents a verification approach for a diagrammatic state machine language that utilises theorem proving and a denotational semantics based on Unifying Theories of Programming (UTP), and provides the necessary theory to underpin state machines.

Refinement calculus of reactive systems

This paper introduces monotonic property transformers, which transform sets of output infinite sequences into sets of input infinite sequences, and shows how such transformers can be defined by various formalisms such as linear temporal logic formulas and symbolic transition systems.

Building program construction and verification tools from algebraic principles

We present a principled modular approach to the development of construction and verification tools for imperative programs, in which the control flow and the data flow are cleanly separated. Our

Reactive Designs in Isabelle/UTP

This Isabelle/UTP document mechanises the UTP theory of reactive designs, including its healthiness conditions, signature, and a large library of algebraic laws of reactive programming.

A process algebraic framework for specification and validation of real-time systems

This paper introduces Circus Time, a timed extension of Circus, and presents a new UTP time theory, which is used to give semantics to Circus Time and to validate some of its laws, and provides a framework for validation of timed programs based on FDR, the CSP model-checker.

Unifying Theories of Reactive Design Contracts

Formal derivation of state-rich reactive programs using Circus

This work presents a method that can be applied in order to achieve a formal derivation of state-rich reactive programs, using Circus, in a calculational style and proposes and mechanised a denotational semantics for Circus, which was used to prove over one-hundred and forty refinement laws.

Modal Kleene Algebra Applied to Program Correctness

Modal Kleene algebras are relatives of dynamic logics that support program construction and verification by equational reasoning. We describe their application in implementing versatile program

Operational Semantics for Model Checking Circus

A Structured Operational Semantics for Circus is presented, including both its process-algebraic and state-rich features.
...