My Account Log in

1 option

Rigorous Software Development : An Introduction to Program Verification / by José Bacelar Almeida, Maria João Frade, Jorge Sousa Pinto, Simão Melo de Sousa.

SpringerLink Books Computer Science (2011-2024) Available online

View online
Format:
Book
Author/Creator:
Almeida, José Bacelar, author.
Frade, Maria João, author.
Pinto, Jorge Sousa, author.
Melo de Sousa, Simão, author.
Contributor:
SpringerLink (Online service)
Series:
Computer Science (Springer-11645)
Undergraduate topics in computer science 1863-7310
Undergraduate Topics in Computer Science, 1863-7310
Language:
English
Subjects (All):
Software engineering.
Computer logic.
Computer science--Mathematics.
Computer science.
Software Engineering.
Logics and Meanings of Programs.
Symbolic and Algebraic Manipulation.
Local Subjects:
Software Engineering.
Logics and Meanings of Programs.
Symbolic and Algebraic Manipulation.
Physical Description:
1 online resource (XIII, 307 pages) : 52 illustrations.
Edition:
First edition 2011.
Contained In:
Springer eBooks
Place of Publication:
London : Springer London : Imprint: Springer, 2011.
System Details:
text file PDF
Summary:
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.
Contents:
List of Figures
1. Introduction
2. An Overview of Formal Methods Tools and Techniques
3. Propositional Logic
4. First-Order Logic
5. Hoare Logic
6. Generating Verification Conditions
7. Safety Properties
8. Procedures and Contracts
9. Specifying C Programs
10. Verifying C Programs
Bibliography
Index.
Other Format:
Printed edition:
ISBN:
978-0-85729-018-2
9780857290182
Access Restriction:
Restricted for use by site license.

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account