Operational Annotations: A new method for sequential program verification

02/12/2021
by   Paul C Attie, et al.
0

I present a new method for specifying and verifying the partial correctness of sequential programs. The key observation is that, in Hoare logic, assertions are used as selectors of states, that is, an assertion specifies the set of program states that satisfy the assertion. Hence, the usual meaning of the partial correctness Hoare triple {f}{P}{g}: if execution is started in any of the states that satisfy assertion f, then, upon termination, the resulting state will be some state that satisfies assertion g. There are of course other ways to specify a set of states. I propose to replace assertions by programs: a program A specifies a set of states as follows: we start A in any state whatsoever, and all the states that A may terminate in constitute the specified set. I thus introduce the operational triple [A] P [B] to mean: if execution of P is started in any post-state of A, then upon termination, the resulting state will be some post-state of B. Here, A is the pre-program, and plays the role of a pre-condition, and B is the post-program, and plays the role of a post-condition.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/19/2018

Transforming Proof Tableaux of Hoare Logic into Inference Sequences of Rewriting Induction

A proof tableau of Hoare logic is an annotated program with pre- and pos...
research
07/24/2020

A Separation Logic to Verify Termination of Busy-Waiting for Abrupt Program Exit

Programs for multiprocessor machines commonly perform busy-waiting for s...
research
09/01/2021

Termination Analysis for the π-Calculus by Reduction to Sequential Program Termination

We propose an automated method for proving termination of π-calculus pro...
research
02/14/2022

Quantitative Strongest Post

We present a novel strongest-postcondition-style calculus for quantitati...
research
08/06/2021

Transformation-Enabled Precondition Inference

Precondition inference is a non-trivial problem with important applicati...
research
05/07/2022

Slicing of Probabilistic Programs based on Specifications

This paper presents the first slicing approach for probabilistic program...
research
12/28/2021

Syntactic Regions for Concurrent Programs

In order to gain a better understanding of the state space of programs, ...

Please sign up or login with your details

Forgot password? Click here to reset