The University of Southampton
University of Southampton Institutional Repository

Logic programming tools and techniques for imperative program verification

Logic programming tools and techniques for imperative program verification
Logic programming tools and techniques for imperative program verification

Proofs of program correctness are traditionally viewed as proofs of correspondence between the program code and an abstract mathematical specification, with little attention to or support for these proofs. This thesis examines the ways in which logic programming, and in particular Prolog, can contribute to the specification to implementation process, firstly in general terms as an `animatable' specification language which may be useful both in scrutinising a higher level specification and in annotating and providing proof rules for verifying an implementation in an imperative programming language and secondly through a number of tools written in Prolog which have been developed in the course of this research. Of these tools, by far the most important is the proof checker, an interactive tool developed to assist the program developer in carrying out formal proofs of the correctness of verification conditions derived from annotated imperative program models. The design of the checker is considered in detail and the proof of soundness of the various tools which comprise the proof checker is also covered in depth. Other tools concentrate on Prolog-style programs as specifications and provide a means of converting such specifications into proof rules for use by the checker in verifying the implementation. The use and potential extensions of the proof checker are contemplated, and the thesis rounds off with a consideration of the immediate uses to which logic programming techniques may be put in the development of verified programs for safety-or security-critical programs. (D81694)

University of Southampton
O'Neill, Ian Mark
O'Neill, Ian Mark

O'Neill, Ian Mark (1987) Logic programming tools and techniques for imperative program verification. University of Southampton, Doctoral Thesis.

Record type: Thesis (Doctoral)

Abstract

Proofs of program correctness are traditionally viewed as proofs of correspondence between the program code and an abstract mathematical specification, with little attention to or support for these proofs. This thesis examines the ways in which logic programming, and in particular Prolog, can contribute to the specification to implementation process, firstly in general terms as an `animatable' specification language which may be useful both in scrutinising a higher level specification and in annotating and providing proof rules for verifying an implementation in an imperative programming language and secondly through a number of tools written in Prolog which have been developed in the course of this research. Of these tools, by far the most important is the proof checker, an interactive tool developed to assist the program developer in carrying out formal proofs of the correctness of verification conditions derived from annotated imperative program models. The design of the checker is considered in detail and the proof of soundness of the various tools which comprise the proof checker is also covered in depth. Other tools concentrate on Prolog-style programs as specifications and provide a means of converting such specifications into proof rules for use by the checker in verifying the implementation. The use and potential extensions of the proof checker are contemplated, and the thesis rounds off with a consideration of the immediate uses to which logic programming techniques may be put in the development of verified programs for safety-or security-critical programs. (D81694)

This record has no associated files available for download.

More information

Published date: 1987

Identifiers

Local EPrints ID: 461767
URI: http://eprints.soton.ac.uk/id/eprint/461767
PURE UUID: 2fb753d9-e727-4606-9a6f-48731a0b2aea

Catalogue record

Date deposited: 04 Jul 2022 18:54
Last modified: 04 Jul 2022 18:54

Export record

Contributors

Author: Ian Mark O'Neill

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×