Rigorous Software Development: An Introduction to Program Verification
Software errors can lead to catastrophic consequences, from financial losses to threats to human safety. As a result, rigorous methods for software development and validation have become increasingly critical. Program verification, a key area of formal methods, provides mathematical tools and techniques to ensure that software behaves as intended.

This book provides a comprehensive introduction to program verification, combining theoretical foundations with practical applications using real-world tools. It offers a self-contained overview of propositional logic and first-order reasoning with theories, followed by a study of Hoare-style program logic with annotations and the generation of verification conditions. The use of Frama-C’s WP plug-in for verifying C programs annotated with the ACSL specification language, including safety properties, is also covered. This revised and expanded second edition incorporates recent advances in formal methods and program verification, integrating new techniques, tools, and exercises to equip readers with the skills necessary for rigorous software development.

Rigorous Software Development is ideal for computer science students, researchers in formal methods, and software engineers seeking a deeper understanding of program verification techniques and tools. It equips readers with the knowledge needed to apply rigorous methods in practice while providing a solid foundation for the evolving landscape of modern software engineering.

1139932469
Rigorous Software Development: An Introduction to Program Verification
Software errors can lead to catastrophic consequences, from financial losses to threats to human safety. As a result, rigorous methods for software development and validation have become increasingly critical. Program verification, a key area of formal methods, provides mathematical tools and techniques to ensure that software behaves as intended.

This book provides a comprehensive introduction to program verification, combining theoretical foundations with practical applications using real-world tools. It offers a self-contained overview of propositional logic and first-order reasoning with theories, followed by a study of Hoare-style program logic with annotations and the generation of verification conditions. The use of Frama-C’s WP plug-in for verifying C programs annotated with the ACSL specification language, including safety properties, is also covered. This revised and expanded second edition incorporates recent advances in formal methods and program verification, integrating new techniques, tools, and exercises to equip readers with the skills necessary for rigorous software development.

Rigorous Software Development is ideal for computer science students, researchers in formal methods, and software engineers seeking a deeper understanding of program verification techniques and tools. It equips readers with the knowledge needed to apply rigorous methods in practice while providing a solid foundation for the evolving landscape of modern software engineering.

119.99 Pre Order
Rigorous Software Development: An Introduction to Program Verification

Rigorous Software Development: An Introduction to Program Verification

Rigorous Software Development: An Introduction to Program Verification

Rigorous Software Development: An Introduction to Program Verification

Paperback(Second Edition 2025)

$119.99 
  • SHIP THIS ITEM
    Available for Pre-Order. This item will be released on December 13, 2025

Related collections and offers


Overview

Software errors can lead to catastrophic consequences, from financial losses to threats to human safety. As a result, rigorous methods for software development and validation have become increasingly critical. Program verification, a key area of formal methods, provides mathematical tools and techniques to ensure that software behaves as intended.

This book provides a comprehensive introduction to program verification, combining theoretical foundations with practical applications using real-world tools. It offers a self-contained overview of propositional logic and first-order reasoning with theories, followed by a study of Hoare-style program logic with annotations and the generation of verification conditions. The use of Frama-C’s WP plug-in for verifying C programs annotated with the ACSL specification language, including safety properties, is also covered. This revised and expanded second edition incorporates recent advances in formal methods and program verification, integrating new techniques, tools, and exercises to equip readers with the skills necessary for rigorous software development.

Rigorous Software Development is ideal for computer science students, researchers in formal methods, and software engineers seeking a deeper understanding of program verification techniques and tools. It equips readers with the knowledge needed to apply rigorous methods in practice while providing a solid foundation for the evolving landscape of modern software engineering.


Product Details

ISBN-13: 9781447175575
Publisher: Springer London
Publication date: 12/13/2025
Series: Undergraduate Topics in Computer Science
Edition description: Second Edition 2025
Pages: 342
Product dimensions: 6.10(w) x 9.25(h) x (d)

About the Author

José Bacelar Almeida is a lecturer at the University of Minho, Portugal. He graduated in Electrical and Computer Engineering and received his PhD in Computer Science from the University of Minho. His areas of interest include semantics of programming languages, proof assistants, and security. Maria João Frade obtained her PhD in Computer Science from the University of Minho, Portugal, and is currently a lecturer at this institution. Her research interests include type theory, structural proof theory, semantics of programming languages and program logics. Jorge Sousa Pinto obtained his PhD in Computer Science from École Polytechnique, France, and is currently a lecturer at the University of Minho, Portugal. His interests include program verification and the use of formal methods in software engineering. Simão Melo de Sousa is a lecturer at the University of Beira Interior, Portugal. He graduated in Computer Science from the University of Orléans, France, and received his PhD in ComputerScience from the University of Nice-Sophia Antipolis / INRIA. His interests include formal methods, reliability and security of computer systems, and computer-aided reasoning.

Table of 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.
From the B&N Reads Blog

Customer Reviews