Article thumbnail

Specification and Verification I

By Mike Gordon

Abstract

These lecture notes are for the course entitled Specification and Verification I. Some of the material is derived from previously published sources. 1 Chapters 1–4 introduce classical ideas of specification and proof of programs due to Floyd and Hoare. Chapter 5 is an introduction to program refinement using an approach due to Paul Curzon. Chapter 6 presents higher order logic and Chapter 7 explains how Floyd-Hoare logic can be embedded in higher order logic. The course presents classical ideas on the specification and verification of software. Although much of the material is old – see the dates on some of the cited references – it is still a key foundation for current research. 2 This course is a prerequisite for the Part II course entitled Specification and Verification II, which makes extensive use of higher order logic (see Chapter 6) for specifying and verifying hardware. Learning Guide These notes contain all the material that will be covered in the course. It should thus not be necessary to consult any textbooks etc. The copies of transparencies give the contents of the lectures. However note that I sometimes end up going faster or slower than expected so, for example, material shown in Lecture n might actually get covered in Lecture n+1 or Lecture n−1. The examination questions will be based on material in the lectures. Thus if I end up not covering some topic in the lectures, then I would not expect to set an examination question on it. This course has been fairly stable for several years, so past exam questions are a reasonable guide to the sort of thing I will set this year

Topics: 1 M.J.C. Gordon, Programming Language Theory and its Implementation
Year: 2012
OAI identifier: oai:CiteSeerX.psu:10.1.1.217.1250
Provided by: CiteSeerX

Suggested articles


To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.