Introducing Software Verification with Dafny Language: Proving Program Correctness
- Length: 151 pages
- Edition: 1
- Language: English
- Publisher: Apress
- Publication Date: 2022-03-30
- ISBN-10: 1484279778
- ISBN-13: 9781484279779
- Sales Rank: #6127208 (See Top 100 Books)
Get introduced to software verification and proving correctness using the Microsoft Research-backed programming language, Dafny. While some other books on this topic are quite mathematically rigorous, this book will use as little mathematical symbols and rigor as possible, and explain every concept using plain English. It’s the perfect primer for software programmers and developers with C# and other programming language skills.
Writing correct software can be hard, so you’ll learn the concept of computation and software verification. Then, apply these concepts and techniques to confidently write bug-free code that is easy to understand. Source code will be available throughout the book and freely available via GitHub.
After reading and using this book you’ll be able write correct, big free software source code applicable no matter which platform and programming language you use.
What You Will Learn
- Discover the Microsoft Research-backed Dafny programming language
- Explore Hoare logic, imperative and functional programs
- Work with pre- and post-conditions
- Use data types, pattern matching, and classes
- Dive into verification examples for potential re-use for your own projects
Who This Book Is For
Software developers and programmers with at least prior, basic programming experience. No specific language needed. It is also for those with very basic mathematical experience (function, variables).
Table of Contents About the Author About the Technical Reviewer Preface Languages and Systems Chapter 9: Implementing a Formal System Chapter 8: Verification Exercises 8.1. An Odd Implementation 8.2. Sunday 8.3. Mathematical Properties 8.4. Algebra 8.5. Miscellaneous Algorithms 8.6. Prime Numbers 8.7. Formal Proofs 8.8. Solutions Chapter 7: Mathematical Induction 7.1. Induction in Dafny 7.2. Manually Proving Induction in Dafny Chapter 6: Specifications 6.1. Hoare Logic 6.2. Z3 and Dafny 6.3. Preconditions and Postconditions 6.4. Invariants 6.5. Arrays 6.6. Termination 6.7. Example: Finding a Maximum Number in an Array Chapter 5: Proofs 5.1. Proofs by Truth Tables 5.2. Three-Column Proofs 5.3. Formal Proofs 5.4. Sequent Calculus Notation 5.5. Example: Proving a Mathematical Property Chapter 4: Mathematical Foundations 4.1. Set Theory 4.2. Type Theory Chapter 3: Computation 3.1. Variables and Assertions 3.2. Methods and Functions 3.3. Predicates (Triggers) and Lemmas 3.4. Loops 3.5. Types and Pattern Matching Chapter 2: Logic 2.1. Propositional Logic 2.2. Predicate Logic and Quantifiers Chapter 1: Our First Program Appendix A: Gödel’s Theorems Conclusion Bibliography Index
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/Apress
2. In the Find a repository… box, search the book title: Introducing Software Verification with Dafny Language: Proving Program Correctness
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.