当前位置: X-MOL 学术J. Log. Algebr. Methods Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Automated verification of reactive and concurrent programs by calculation
Journal of Logical and Algebraic Methods in Programming ( IF 0.7 ) Pub Date : 2021-04-14 , DOI: 10.1016/j.jlamp.2021.100681
Simon Foster , Kangfeng Ye , Ana Cavalcanti , Jim Woodcock

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.



中文翻译:

通过计算自动验证反应式和并发程序

反应式程序将传统的顺序编程结构与原语结合起来,以允许与其他并发代理进行通信。它们在从组件系统和Web服务到网络物理系统和自主机器人的现代应用中无处不在。在本文中,我们提出了具有大状态空间或无限状态空间的并发反应程序的代数验证策略。我们定义了新颖的算子来描述相互作用和状态更新,以及相关的方程式理论。这样,我们可以计算反应式程序的指称语义,从而促进自动证明。值得注意的是,我们对基于Kleene代数的具有反应性不变量的迭代程序以及并行构成的推理支持。我们通过验证反应性缓冲区来说明我们的策略。

更新日期:2021-04-19
down
wechat
bug