This article presents a full formal machine-checked verification of a C program: the OpenSSL implementation of SHA-256. This is an interactive proof of functional correctness in the Coq proof assistant, using the Verifiable C program logic. Verifiable C is a separation logic for the C language, proved sound with respect to the operational semantics for C, connected to the CompCert verified optimizing C compiler.
No takes yet. Share an insight, caveat, or question.
Andrew W. Appel (2015) studied this question.
Synapse has enriched 5 related papers. Consider them for comparative context: