COMPLX: A Verification Framework for Concurrent Imperative Programs (Q7361465)

From MaRDI portal

!

This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use the normal view instead:

AFP entry Complx
Language Label Description Also known as
default for all languages
No label defined
    English
    COMPLX: A Verification Framework for Concurrent Imperative Programs
    AFP entry Complx

      Statements

      29 November 2016
      0 references
      Sidney Amani
      0 references
      June Andronick
      0 references
      Maksym Bortin
      0 references
      Corey Lewis
      0 references
      Christine Rizkallah
      0 references
      Joseph Tuong
      0 references
      COMPLX: A Verification Framework for Concurrent Imperative Programs (English)
      0 references
      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.
      0 references