This manual provides comprehensive information for the Program Logics for Certified Compilers, authored by Andrew W. Appel and published by Cambridge University Press. This work delves into the practical and theoretical aspects of separation logic, a modern approach to verifying programs that manipulate pointers. It is designed for beginning graduate students and offers an introduction to verification logics, case studies, and a program logic for the C language, alongside theoretical explorations of separation algebras and step-indexed models.
The purpose of this manual is to serve as a detailed guide for understanding and applying the concepts presented. It covers the construction and soundness proofs of Verifiable C, explores models for shared ownership, and discusses aspects of the CompCert verified C compiler and its relation to software analysis tools. All presented constructions and proofs are rigorously developed and accessible through Coq developments within the open-source Verified Software Toolchain, ensuring a thorough understanding for users engaged with software verification.
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: Appel, Andrew W.
Publisher: Cambridge University Press
Illustration: N
Language: ENG
Title: Program Logics for Certified Compilers
Pages: 00472 (Encrypted PDF)
On Sale: 2014-03-31
SKU-13/ISBN: 9781107048010
Category: Computers : Programming Languages - General
Category: Computers : Programming - General
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: Appel, Andrew W.
Publisher: Cambridge University Press
Illustration: N
Language: ENG
Title: Program Logics for Certified Compilers
Pages: 00472 (Encrypted PDF)
On Sale: 2014-03-31
SKU-13/ISBN: 9781107048010
Category: Computers : Programming Languages - General
Category: Computers : Programming - General