Programming Without Refining

10/23/2018
by   Marwa Benabdelali, et al.
0

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this goal in a stepwise manner by enhancing executability while preserving correctness until we achieve complete executability. In this paper, we argue that it is possible to invert these properties, and to derive a program by enhancing correctness while preserving executability (proceeding from one executable program to another) until we achieve absolute correctness. Of course, this latter process is possible only if we know how to enhance correctness.

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
04/12/2022

Traits for Correct-by-Construction Programming

We demonstrate that traits are a natural way to support correctness-by-c...
research
09/09/2023

pun: Fun with Properties; Towards a Programming Language With Built-in Facilities for Program Validation

Property-based testing is a powerful method to validate program correctn...
research
03/29/2022

Towards the Future: Bring Program Correctness back to the focus

Program correctness used to be the main concern of computer software in ...
research
06/18/2023

Optimizing Stateful Dataflow with Local Rewrites

Optimizing a stateful dataflow language is a challenging task. There are...
research
02/10/2022

Forward Build Systems, Formally

Build systems are a fundamental part of software construction, but their...
research
07/30/2020

Correctness by construction for probabilistic programs

The "correct by construction" paradigm is an important component of mode...

Please sign up or login with your details

Forgot password? Click here to reset