Installieren Sie die genialokal App auf Ihrem Startbildschirm für einen schnellen Zugriff und eine komfortable Nutzung.
Tippen Sie einfach auf Teilen:
Und dann auf "Zum Home-Bildschirm [+]".
Bei genialokal.de kaufen Sie online bei Ihrer lokalen, inhabergeführten Buchhandlung!
"Dafny Programming and Verification"
"Dafny Programming and Verification" offers a comprehensive exploration of the Dafny language-a leading tool for formal verification and program correctness. The book begins by establishing the foundational principles of software verification, articulating the role of formal methods to ensure software reliability where traditional testing falls short. Readers are introduced to Dafny's historical evolution, essential language constructs, and the theoretical underpinnings that make it a powerful system for specifying and proving software properties, such as Hoare logic and the use of SMT solvers.
The text delves deeply into Dafny's language features, guiding readers from basic modules, types, and expressions through advanced specification techniques. Step-by-step, it explains how to write robust preconditions, postconditions, and loop invariants; leverage quantifiers for expressive contracts; and apply a disciplined approach to modular verification. The book goes further to address the unique challenges of verifying complex, object-oriented code, including dynamic allocation, class invariants, and ownership models, while providing techniques for scalable verification in larger systems.
Beyond core programming and specification concepts, the book examines the integration of Dafny into real-world engineering workflows. It covers algorithm verification, performance considerations, extensibility, interoperability with other verification frameworks, and the importance of readable and maintainable formal specifications. Concluding with a survey of current research, trends, and future directions, "Dafny Programming and Verification" stands as an essential resource for engineers, researchers, and educators seeking to advance the state of trustworthy software systems.