View-Based Owicki-Gries Reasoning for Persistent x86-TSO (Extended Version)

01/15/2022
by   Eleni Vafeiadi Bila, et al.
0

The rise of persistent memory is disrupting computing to its core. Our work aims to help programmers navigate this brave new world by providing a program logic for reasoning about x86 code that uses low-level operations such as memory accesses and fences, as well as persistency primitives such as flushes. Our logic, Pierogi, benefits from a simple underlying operational semantics based on views, is able to handle optimised flush operations, and is mechanised in the Isabelle/HOL proof assistant. We detail the proof rules of Pierogi and prove them sound. We also show how Pierogi can be used to reason about a range of challenging single- and multi-threaded persistent programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/04/2023

Lifting the Reasoning Level in Generic Weak Memory Verification (Extended Version)

Weak memory models specify the semantics of concurrent programs on multi...
research
01/19/2023

View-Based Axiomatic Reasoning for PSO (Extended Version)

Weak memory models describe the semantics of concurrent programs on mode...
research
11/22/2018

Verifying C11 Programs Operationally

This paper develops an operational semantics for a release-acquire fragm...
research
05/15/2023

Rely-Guarantee Reasoning for Causally Consistent Shared Memory (Extended Version)

Rely-guarantee (RG) is a highly influential compositional proof techniqu...
research
08/05/2023

A denotationally-based program logic for higher-order store

Separation logic is used to reason locally about stateful programs. Stat...
research
11/29/2022

Reasoning about Promises in Weak Memory Models with Event Structures (Extended Version)

Modern processors such as ARMv8 and RISC-V allow executions in which ind...
research
03/27/2013

Convergent Deduction for Probabilistic Logic

This paper discusses the semantics and proof theory of Nilsson's probabi...

Please sign up or login with your details

Forgot password? Click here to reset