License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ITP.2021.32
URN: urn:nbn:de:0030-drops-139273
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2021/13927/
Zhang, Hengchu ;
Honoré, Wolf ;
Koh, Nicolas ;
Li, Yao ;
Li, Yishuai ;
Xia, Li-Yao ;
Beringer, Lennart ;
Mansky, William ;
Pierce, Benjamin ;
Zdancewic, Steve
Verifying an HTTP Key-Value Server with Interaction Trees and VST
Abstract
We present a networked key-value server, implemented in C and formally verified in Coq. The server interacts with clients using a subset of the HTTP/1.1 protocol and is specified and verified using interaction trees and the Verified Software Toolchain. The codebase includes a reusable and fully verified C string library that provides 17 standard POSIX string functions and 17 general purpose non-POSIX string functions. For the KVServer socket system calls, we establish a refinement relation between specifications at user-space level and at CertiKOS kernel-space level.
BibTeX - Entry
@InProceedings{zhang_et_al:LIPIcs.ITP.2021.32,
author = {Zhang, Hengchu and Honor\'{e}, Wolf and Koh, Nicolas and Li, Yao and Li, Yishuai and Xia, Li-Yao and Beringer, Lennart and Mansky, William and Pierce, Benjamin and Zdancewic, Steve},
title = {{Verifying an HTTP Key-Value Server with Interaction Trees and VST}},
booktitle = {12th International Conference on Interactive Theorem Proving (ITP 2021)},
pages = {32:1--32:19},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-188-7},
ISSN = {1868-8969},
year = {2021},
volume = {193},
editor = {Cohen, Liron and Kaliszyk, Cezary},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2021/13927},
URN = {urn:nbn:de:0030-drops-139273},
doi = {10.4230/LIPIcs.ITP.2021.32},
annote = {Keywords: formal verification, Coq, HTTP, deep specification}
}
Keywords: |
|
formal verification, Coq, HTTP, deep specification |
Collection: |
|
12th International Conference on Interactive Theorem Proving (ITP 2021) |
Issue Date: |
|
2021 |
Date of publication: |
|
21.06.2021 |
Supplementary Material: |
|
The webserver code, proofs, and a step-by-step guide can be found at: Software (Source Code): https://zenodo.org/record/4697379 |