TY - BOOK AU - Cooke,John ED - SpringerLink (Online service) TI - Constructing Correct Software SN - 9781846280795 AV - QA76.758 U1 - 005.1 23 PY - 2005/// CY - London PB - Springer London KW - Computer science KW - Software engineering KW - Mathematical logic KW - Computer Science KW - Software Engineering/Programming and Operating Systems KW - Software Engineering KW - Mathematical Logic and Formal Languages N1 - Preliminaries -- The Technical Background -- On Programming -- Fundamentals -- Algorithm Extraction -- Recursion Removal -- Quantifications -- Refinement and Re-use -- Developments -- Sorting -- Data Refinement -- Sorting Revisited -- Failures and Fixes -- Further Examples -- On Interactive Software N2 - 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 UR - http://dx.doi.org/10.1007/b138515 ER -