From Matching Logic To Parallel Imperative Language Verification

02/08/2021
by   ShangBei Wang, et al.
0

Program verification is to develop the program's proof system, and to prove the proof system soundness with respect to a trusted operational semantics of the program. However, many practical program verifiers are not based on operational semantics and can't seriously validate the program. Matching logic is proposed to make program verification based on operational semantics. In this paper, following Grigore Roşu 's work, we consider matching logic for parallel imperative language(PIMP). According to our investigation, this paper is the first study on matching logic for PIMP. In our matching logic, we redefine "interference-free" to character parallel rule and prove the soundness of matching logic to the operational semantics of PIMP. We also link PIMP's operational semantics and PIMP's verification formally by constructing a matching logic verifier for PIMP which executes rewriting logic semantics symbolically on configuration patterns and is sound and complete to matching logic for PIMP. That is our matching logic verifier for PIMP is sound to the operational semantics of PIMP. Finally, we also verify the matching logic verifier through an example which is a standard problem in parallel programming.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/13/2019

Operational semantics and program verification using many-sorted hybrid modal logic

We propose a general framework to allow: (a) specifying the operational ...
research
01/15/2022

Mechanizing Matching Logic in Coq

Matching logic is a formalism for specifying and reasoning about structu...
research
05/16/2018

On the Semantics of Snapshot Isolation

Snapshot isolation (SI) is a standard transactional consistency model us...
research
04/03/2020

Temporal Logic of Composable Distributed Components

Distributed systems are critical to reliable and scalable computing; how...
research
05/10/2021

Identifying Overly Restrictive Matching Patterns in SMT-based Program Verifiers

Universal quantifiers occur frequently in proof obligations produced by ...
research
08/03/2021

Owicki-Gries Reasoning for C11 Programs with Relaxed Dependencies (Extended Version)

Deductive verification techniques for C11 programs have advanced signifi...
research
08/27/2018

Reversing Parallel Programs with Blocks and Procedures

We show how to reverse a while language extended with blocks, local vari...

Please sign up or login with your details

Forgot password? Click here to reset