DeepAI
Log In Sign Up

Verifying Graph Programs with First-Order Logic (Extended Version)

10/27/2020
by   Gia Wulandari, et al.
0

We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to comprehend by programmers that are used to formal specifications in standard first-order logic. In this paper, we present an approach to verify GP 2 programs with a standard first-order logic. We show how to construct a strongest liberal postcondition with respect to a rule schema and a precondition. We then extend this construction to obtain strongest liberal postconditions for arbitrary loop-free programs. Compared with previous work, this allows to reason about a vastly generalised class of graph programs. In particular, many programs with nested loops can be verified with the new calculus.

READ FULL TEXT

page 1

page 2

page 3

page 4

12/03/2020

Verifying Graph Programs with First-Order Logic

We consider Hoare-style verification for the graph programming language ...
12/10/2018

Formalization of Metatheory of the Quipper Quantum Programming Language in a Linear Logic

We develop a linear logical framework within the Hybrid system and use i...
10/06/2020

The Improved GP 2 Compiler

GP 2 is a rule-based programming language based on graph transformation ...
01/24/2010

A Decidable Class of Nested Iterated Schemata (extended version)

Many problems can be specified by patterns of propositional formulae dep...
08/07/2020

Generating Distributed Programs from Event-B Models

Distributed algorithms offer challenges in checking that they meet their...
02/25/2021

Checkpointing and Localized Recovery for Nested Fork-Join Programs

While checkpointing is typically combined with a restart of the whole ap...