Skip to main content
  • Textbook
  • © 2005

Constructing Correct Software

Authors:

  • Links constructive software development to traditional problem-solving methods
  • Not dependent on any particular specification language, but is based instead on their common core - predicate logic and familiar data types
  • Provides a brief transliteration into the major specification notations
  • Includes supplementary material: sn.pub/extras

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (13 chapters)

  1. Front Matter

    Pages i-xxi
  2. Introduction

    1. Introduction

      Pages 1-28
  3. Preliminaries

    1. On Programming

      Pages 125-157
  4. Fundamentals

    1. Algorithm Extraction

      Pages 161-221
    2. Recursion Removal

      Pages 223-265
    3. Quantifications

      Pages 267-300
    4. Refinement and Re-use

      Pages 301-313
  5. Developments

    1. Sorting

      Pages 317-355
    2. Data Refinement

      Pages 357-374
    3. Sorting Revisited

      Pages 375-407
    4. Failures and Fixes

      Pages 409-416
    5. Further Examples

      Pages 417-453
    6. On Interactive Software

      Pages 455-472
  6. Back Matter

    Pages 473-509

About this book

Central to Formal Methods is the so-called Correctness Theorem which relates a specification to its correct Implementations. This theorem is the goal of traditional program testing and, more recently, of program verification (in which the theorem must be proved). Proofs are difficult, though even with the use of powerful theorem provers. This volume explains and illustrates an alternative method, which allows the construction of (necessarily correct) algorithms from a specification using algebraic transformations and refinement techniques which prevent the introduction of errors. Based on teaching material used extensively at Loughborough University, John Cooke introduces the basics, using simple examples and lots of detailed working (which can often be re-used).

Constructing Correct Software will provide invaluable reading for students and practitioners of Computer Science and Software Engineering to whom correctness of software is of prime importance.

Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access