Beyond Structured Programming

10/27/2018
by   M. H. van Emden, et al.
0

The correctness of a structured program is, at best, plausible. Though this is a step forward compared to what came before, it falls short of verified correctness. To verify a structured program according to Hoare's method one is faced with the problem of finding assertions to fit existing code. In 1971 this mode of verification was declared by Dijkstra as too hard to be of practical use---he advised that proof and code were to grow together. A method for doing this was independently published by Reynolds in 1978 and by van Emden in 1979. The latter was further developed to attain the form of matrix code. This form of code not only obviates the need of fitting assertions to existing code, but helps in discovering an algorithm that reaches a given postcondition from a fixed precondition. In this paper a keyboard-editable version of matrix code is presented that uses E.W. Dijkstra's guarded commands as starting point. The result is reached by using Floyd's method rather than Hoare's as starting point.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/16/2019

On correctness of an n queens program

Thom Frühwirth presented a short, elegant and efficient Prolog program f...
research
10/21/2021

Certifying C program correctness with respect to CompCert with VeriFast

VeriFast is a powerful tool for verification of various correctness prop...
research
03/13/2020

Finding the closest normal structured matrix

Given a structured matrix A we study the problem of finding the closest ...
research
05/13/2021

Verification of the Incremental Merkle Tree Algorithm with Dafny

The Deposit Smart Contract (DSC) is an instrumental component of the Eth...
research
06/19/2013

Verifying the Steane code with Quantomatic

In this paper we give a partially mechanized proof of the correctness of...
research
04/12/2022

Traits for Correct-by-Construction Programming

We demonstrate that traits are a natural way to support correctness-by-c...

Please sign up or login with your details

Forgot password? Click here to reset