Rigorous Software Development

An Introduction to Program Verification

Nonfiction, Computers, Programming, Software Development, General Computing
Cover of the book Rigorous Software Development by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida, Springer London
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida ISBN: 9780857290182
Publisher: Springer London Publication: January 4, 2011
Imprint: Springer Language: English
Author: Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
ISBN: 9780857290182
Publisher: Springer London
Publication: January 4, 2011
Imprint: Springer
Language: English

The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.

More books from Springer London

Cover of the book Surgical Guide to Circumcision by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Shock and the Adult Respiratory Distress Syndrome by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Obstructive Uropathy by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Scientific Data Analysis using Jython Scripting and Java by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book An Introduction to PHP for Scientists and Engineers by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Energy Economics by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Leavitt Path Algebras by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Gamut Index of Skeletal Dysplasias by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Smart Grid Security by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Fatigue and Fracture Reliability Engineering by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Motion Coordination for VTOL Unmanned Aerial Vehicles by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Robust and Optimal Control by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Proceedings of the International Conference on Information Engineering and Applications (IEA) 2012 by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Social Interaction, Globalization and Computer-Aided Analysis by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
Cover of the book Guide to Teaching Puzzle-based Learning by Jorge Sousa Pinto, Maria João Frade, Simão Melo de Sousa, José Bacelar Almeida
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy