Predicate transformer semantics were introduced by Edsger Dijkstra as a denotational semantics for imperative programming. They are a reformulation of Floyd–Hoare logic, providing an effective algorithm to reduce the problem of verifying a Hoare triple to the problem of proving a first-order formula. Predicate transformer semantics perform a kind of symbolic execution of statements into predicates.
Carnegie Mellon University
Spring 2022
This course is about software verification, with the goal of writing bug-free code. Students will learn to formalize program correctness, write verified code, and use automated tools for verification. It explores the principles behind verification tools, logical specifications, and deductive reasoning. Previous knowledge in program correctness reasoning is beneficial.
No concepts data
+ 22 more concepts