Integration verification across software and hardware for a simple embedded system

A Erbsen, S Gruetter, J Choi, C Wood… - Proceedings of the 42nd …, 2021 - dl.acm.org
The interfaces between layers of a system are susceptible to bugs if developers of adjacent
layers proceed under subtly different assumptions. Formal verification of two layers against …

Verifying an HTTP key-value server with interaction trees and VST

H Zhang, W Honoré, N Koh, Y Li, Y Li… - The 12th Conference …, 2021 - research.ed.ac.uk
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 …

Igloo: soundly linking compositional refinement and separation logic for distributed system verification

C Sprenger, T Klenze, M Eilers, FA Wolf… - Proceedings of the …, 2020 - dl.acm.org
Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that
full system verification is feasible by establishing a refinement between an abstract system …

An Iris instance for verifying CompCert C programs

W Mansky, K Du - Proceedings of the ACM on Programming Languages, 2024 - dl.acm.org
Iris is a generic separation logic framework that has been instantiated to reason about a
wide range of programming languages and language features. Most Iris instances are …

Formally verified simulations of state-rich processes using interaction trees in Isabelle/HOL

S Foster, CK Hur, J Woodcock - arXiv preprint arXiv:2105.05133, 2021 - arxiv.org
Simulation and formal verification are important complementary techniques necessary in
high assurance model-based systems development. In order to support coherent results, it is …

PureCake: A verified compiler for a lazy functional language

H Kanabar, S Vivien, O Abrahamsson… - Proceedings of the …, 2023 - dl.acm.org
We present PureCake, a mechanically-verified compiler for PureLang, a lazy, purely
functional programming language with monadic effects. PureLang syntax is Haskell-like and …

Program adverbs and Tlön embeddings

Y Li, S Weirich - Proceedings of the ACM on Programming Languages, 2022 - dl.acm.org
Free monads (and their variants) have become a popular general-purpose tool for
representing the semantics of effectful programs in proof assistants. These data structures …

Bringing Iris into the Verified Software Toolchain

W Mansky - arXiv preprint arXiv:2207.06574, 2022 - arxiv.org
The Verified Software Toolchain (VST) is a system for proving correctness of C programs
using separation logic. By connecting to the verified compiler CompCert, it produces the …

Verified sequential malloc/free

AW Appel, DA Naumann - Proceedings of the 2020 ACM SIGPLAN …, 2020 - dl.acm.org
We verify the functional correctness of an array-of-bins (segregated free-lists) single-thread
malloc/free system with respect to a correctness specification written in separation logic. The …

Verified erasure correction in Coq with MathComp and VST

JM Cohen, Q Wang, AW Appel - International Conference on Computer …, 2022 - Springer
Most methods of data transmission and storage are prone to errors, leading to data loss.
Forward erasure correction (FEC) is a method to allow data to be recovered in the presence …