Title
COMPLX: A Verification Framework for Concurrent Imperative Programs.
Abstract
We propose a concurrency reasoning framework for imperative programs, based on the Owicki-Gries (OG) foundational shared-variable concurrency method. Our framework combines the approaches of Hoare-Parallel, a formalisation of OG in Isabelle/HOL for a simple while-language, and Simpl, a generic imperative language embedded in Isabelle/HOL, allowing formal reasoning on C programs. We define the Complx language, extending the syntax and semantics of Simpl with support for parallel composition and synchronisation. We additionally define an OG logic, which we prove sound w.r.t. the semantics, and a verification condition generator, both supporting involved low-level imperative constructs such as function calls and abrupt termination. We illustrate our framework on an example that features exceptions, guards and function calls. We aim to then target concurrent operating systems, such as the interruptible eChronos embedded operating system for which we already have a model-level OG proof using Hoare-Parallel.
Year
DOI
Venue
2017
10.1145/3018610.3018627
CPP
Keywords
DocType
Citations 
formal verification, programming languages, imperative code, concurrency, Owicki-Gries, Isabelle/HOL
Conference
2
PageRank 
References 
Authors
0.39
9
6
Name
Order
Citations
PageRank
Sidney Amani1675.00
June Andronick290342.66
Maksym Bortin3151.21
Corey Lewis4333.30
Christine Rizkallah57514.05
Joseph Tuong620.39