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
Computer & Technologie
Autoren-Profil
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.
Dieses E-Book bewerten
Deine Meinung ist gefragt!
Informationen zum Lesen
Smartphones und Tablets
Nachdem du die Google Play Bücher App für Android und iPad/iPhone installiert hast, wird diese automatisch mit deinem Konto synchronisiert, sodass du auch unterwegs online und offline lesen kannst.
Laptops und Computer
Im Webbrowser auf deinem Computer kannst du dir Hörbucher anhören, die du bei Google Play gekauft hast.
E-Reader und andere Geräte
Wenn du Bücher auf E-Ink-Geräten lesen möchtest, beispielsweise auf einem Kobo eReader, lade eine Datei herunter und übertrage sie auf dein Gerät. Eine ausführliche Anleitung zum Übertragen der Dateien auf unterstützte E-Reader findest du in der Hilfe.