From Matching Logic To Parallel Imperative Language Verification
ShangBei Wang

TL;DR
This paper develops a matching logic framework for verifying parallel imperative programs, establishing its soundness and completeness with respect to operational semantics, and demonstrates its effectiveness through a standard parallel programming example.
Contribution
It introduces the first matching logic approach for parallel imperative language verification, redefining interference concepts and linking semantics with a symbolic verifier.
Findings
The matching logic verifier is sound and complete for PIMP.
Redefinition of 'interference-free' as character parallel rule.
Successful verification of a standard parallel programming problem.
Abstract
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{\c{s}}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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
