2014
DOI: 10.1007/978-3-319-06410-9_6
|View full text |Cite
|
Sign up to set email alerts
|

Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools

Abstract: Abstract. We provide simple equational principles for deriving relyguarantee-style inference rules and refinement laws based on idempotent semirings. We link the algebraic layer with concrete models of programs based on languages and execution traces. We have implemented the approach in Isabelle/HOL as a lightweight concurrency verification tool that supports reasoning about the control and data flow of concurrent programs with shared variables at different levels of abstraction. This is illustrated on two sim… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
18
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
6
1

Relationship

3
4

Authors

Journals

citations
Cited by 13 publications
(18 citation statements)
references
References 24 publications
0
18
0
Order By: Relevance
“…The general approach has been used previously for implementing tools for the construction and verification of simple while programs [2] and rely-guarantee based concurrent programs [1]. It aims at a clean separation of concerns between the control flow and the data domain of programs and focusses on developing a lightweight algebraic layer from which verification conditions or transformation and refinement laws can be developed by simple equational reasoning.…”
Section: Resultsmentioning
confidence: 99%
“…The general approach has been used previously for implementing tools for the construction and verification of simple while programs [2] and rely-guarantee based concurrent programs [1]. It aims at a clean separation of concerns between the control flow and the data domain of programs and focusses on developing a lightweight algebraic layer from which verification conditions or transformation and refinement laws can be developed by simple equational reasoning.…”
Section: Resultsmentioning
confidence: 99%
“…A rely condition R is understood as a special program that constrains the behaviour of a component S by executing it in parallel as R S. This is consistent with the above trace interpretation where parallel composition is interpreted as shuffle and gaps in traces correspond to interferences by the environment. Typical properties of relies are 1 ≤ R (where 1 is skip) and R * = R·R = R R = R. Moreover, relies distribute over nondeterministic choices as well as sequential and concurrent compositions: R (S+T ) = R S+R T , R (S·T ) = (R S)·(R T ) and R (S T ) = (R S) (R T ), hence they apply to all subcomponents of a given component [7]. A guarantee G of a given component S is only constrained by the fact that it should include all behaviours of S, that is, S ≤ G.…”
Section: Non-probabilistic Rely-guarantee Calculusmentioning
confidence: 99%
“…The rules of Hoare logic without the assignment axiom are still derivable from the axioms of bi-Kleene algebra, when Hoare triples are replaced by Jones quintuples [8]. To derive the standard rely-guarantee concurrency rule, one can expand bi-Kleene algebra by a meet operation ( ) and assume that (K, +, ) forms a distributive lattice [7]. Then…”
Section: Non-probabilistic Rely-guarantee Calculusmentioning
confidence: 99%
See 1 more Smart Citation
“…We have already built mathematical components for variants of Kleene algebras, regular algebras and relation algebras in Isabelle [6,17,4,13,2], integrated some of them into verification components for sequential programs [16,5,18], local reasoning with separation logic [12] and the rely-guarantee calculus [3]. In all of them, an abstract algebraic layer has been linked via formal soundness proofs with concrete computational models, e.g.…”
mentioning
confidence: 99%