
Overview
- 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
Access this book
Tax calculation will be finalised at checkout
Other ways to access
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.
Similar content being viewed by others
Keywords
Table of contents (13 chapters)
-
Introduction
-
Preliminaries
Bibliographic Information
Book Title: Constructing Correct Software
Authors: John Cooke
DOI: https://doi.org/10.1007/b138515
Publisher: Springer London
eBook Packages: Computer Science, Computer Science (R0)
Copyright Information: Springer-Verlag London 2005
Softcover ISBN: 978-1-85233-820-6Published: 08 November 2004
eBook ISBN: 978-1-84628-079-5Published: 31 December 2007
Edition Number: 2
Number of Pages: XXI, 509
Number of Illustrations: 100 b/w illustrations
Additional Information: Originally published in the series "Formal Approaches to Computing and Information Technology (FACIT)"
Topics: Software Engineering/Programming and Operating Systems, Software Engineering, Mathematical Logic and Formal Languages