Ebook: Constructing Correct Software
- Tags: Software Engineering, Mathematical Logic and Formal Languages
- Year: 2005
- Publisher: Springer-Verlag London
- Edition: 2
- Language: English
- pdf
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.
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.
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.
Content:
Front Matter....Pages i-xxi
Introduction....Pages 1-28
The Technical Background....Pages 31-123
On Programming....Pages 125-157
Algorithm Extraction....Pages 161-221
Recursion Removal....Pages 223-265
Quantifications....Pages 267-300
Refinement and Re-use....Pages 301-313
Sorting....Pages 317-355
Data Refinement....Pages 357-374
Sorting Revisited....Pages 375-407
Failures and Fixes....Pages 409-416
Further Examples....Pages 417-453
On Interactive Software....Pages 455-472
Back Matter....Pages 473-509
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.
Content:
Front Matter....Pages i-xxi
Introduction....Pages 1-28
The Technical Background....Pages 31-123
On Programming....Pages 125-157
Algorithm Extraction....Pages 161-221
Recursion Removal....Pages 223-265
Quantifications....Pages 267-300
Refinement and Re-use....Pages 301-313
Sorting....Pages 317-355
Data Refinement....Pages 357-374
Sorting Revisited....Pages 375-407
Failures and Fixes....Pages 409-416
Further Examples....Pages 417-453
On Interactive Software....Pages 455-472
Back Matter....Pages 473-509
....