Program Proofs
Author: K. Rustan M. Leino (Author), Kaleb Leino (Illustrator)
Publisher finelybook 出版社: The MIT Press
Publication Date 出版日期: 2023-03-07
Language 语言: English
Print Length 页数: 496 pages
ISBN-10: 026254623X
ISBN-13: 9780262546232
Book Description
This comprehensive and highly readable textbook teaches how to formally reason about computer programs using an incremental approach and the verification-aware programming language Dafny. Program Proofs shows students what it means to write specifications for programs, what it means for programs to satisfy those specifications, and how to write proofs that connect specifications and programs. Writing with clarity and humor, K. Rustan M. Leino first provides an overview of the basic theory behind reasoning about programs. He then gradually builds up to complex concepts and applications, until students are facing real programs using objects, data structures, and non-trivial recursion. To emphasize the practical nature of program proofs, all material and examples use the verification-aware programming language Dafny, but no previous knowledge of Dafny is assumed.
- Written in a highly readable and student-friendly style
- Builds up to complex concepts in an incremental manner
- Comprehensively covers how to write proofs and how to specify and verify both functional programs and imperative programs
- Uses real program text from a real programming language, not psuedo code
- Features engaging illustrations and hands-on learning exercises
About the Author
K. Rustan M. Leino is a Senior Principal Applied Scientist in the Automated Reasoning Group at Amazon Web Services, an ACM Fellow, an IFIP Fellow, and a recipient of the CAV Award.
下载地址
PDF, EPUB | 22 MB
未经允许不得转载:finelybook » Program Proofs
相关推荐
Exercises and Solutions in Probability and Statistics
Large Language Models (LLMs) for Healthcare: A Practical Guide to Their Process and Evaluation
Kickstart PLC Programming: Design and Build Scalable Control Systems Using IEC 61131-3, Ladder Logic, SCADA and HMI for Modern Industrial Automation
C++ Programming Cookbook: Proven solutions using C++ 20 across functions, file I/O, streams, memory management, STL, concurrency, type manipulation and error debugging
Learning TypeScript 5: Go beyond Javascript to build more maintainable and robust web applications for large-scale projects
Computer Science From Scratch: Building Interpreters, Art, Emulators and ML in Python