Program Logics for Certified Compilers

Hardback

Main Details

Title Program Logics for Certified Compilers
Authors and Contributors      By (author) Andrew W. Appel
Contributions by Robert Dockins
Contributions by Aquinas Hobor
Contributions by Lennart Beringer
Contributions by Josiah Dodds
Physical Properties
Format:Hardback
Pages:472
Dimensions(mm): Height 231,Width 150
Category/GenreMathematical theory of computation
ISBN/Barcode 9781107048010
ClassificationsDewey:005.453
Audience
Professional & Vocational
Illustrations 52 Line drawings, unspecified

Publishing Details

Publisher Cambridge University Press
Imprint Cambridge University Press
Publication Date 21 April 2014
Publication Country United Kingdom

Description

Separation logic is the twenty-first-century variant of Hoare logic that permits verification of pointer-manipulating programs. This book covers practical and theoretical aspects of separation logic at a level accessible to beginning graduate students interested in software verification. On the practical side it offers an introduction to verification in Hoare and separation logics, simple case studies for toy languages, and the Verifiable C program logic for the C programming language. On the theoretical side it presents separation algebras as models of separation logics; step-indexed models of higher-order logical features for higher-order programs; indirection theory for constructing step-indexed separation algebras; tree-shares as models for shared ownership; and the semantic construction (and soundness proof) of Verifiable C. In addition, the book covers several aspects of the CompCert verified C compiler, and its connection to foundationally verified software analysis tools. All constructions and proofs are made rigorous and accessible in the Coq developments of the open-source Verified Software Toolchain.

Author Biography

Andrew W. Appel is the Eugene Higgins Professor and Chairman of the Department of Computer Science at Princeton University, New Jersey, where he has been on the faculty since 1986. His research is in software verification, computer security, programming languages and compilers, automated theorem proving, and technology policy. He is known for his work on Standard ML of New Jersey and on Foundational Proof-Carrying Code. He is a Fellow of the Association for Computing Machinery, recipient of the ACM SIGPLAN Distinguished Service Award, and has served as Editor in Chief of ACM Transactions on Programming Languages and Systems. His previous books include Compiling with Continuations (1992), the Modern Compiler Implementation series (1998 and 2002) and Alan Turing's Systems of Logic (2012).