After some general remarks about program verification, we introduce separation logic, a novel extension of Hoare logic that can strengthen the applicability and scalability of program verification for imperative programs using shared mutable data structures or sharedmemory concurrency.
John C. Reynolds