RefinedC: automating the foundational verification of C code with refined ownership types

M Sammler, R Lepigre, R Krebbers… - Proceedings of the …, 2021 - dl.acm.org
Given the central role that C continues to play in systems software, and the difficulty of
writing safe and correct C code, it remains a grand challenge to develop effective formal …

VST-Floyd: A separation logic tool to verify correctness of C programs

Q Cao, L Beringer, S Gruetter, J Dodds… - Journal of Automated …, 2018 - Springer
Abstract The Verified Software Toolchain builds foundational machine-checked proofs of the
functional correctness of C programs. Its program logic, Verifiable C, is a shallowly …

Actris: Session-type based reasoning in separation logic

JK Hinrichsen, J Bengtson, R Krebbers - Proceedings of the ACM on …, 2019 - dl.acm.org
Message passing is a useful abstraction to implement concurrent programs. For real-world
systems, however, it is often combined with other programming and concurrency paradigms …

From C to interaction trees: specifying, verifying, and testing a networked server

N Koh, Y Li, Y Li, L Xia, L Beringer, W Honoré… - Proceedings of the 8th …, 2019 - dl.acm.org
We present the first formal verification of a networked server implemented in C. Interaction
trees, a general structure for representing reactive computations, are used to tie together …

Coq's vibrant ecosystem for verification engineering (invited talk)

AW Appel - Proceedings of the 11th ACM SIGPLAN International …, 2022 - dl.acm.org
Program verification in the large is not only a matter of mechanizing a program logic to
handle the semantics of your programming language. You must reason in the mathematics …

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 …

Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message Passing

J Jacobs, JK Hinrichsen, R Krebbers - Proceedings of the ACM on …, 2024 - dl.acm.org
We introduce a linear concurrent separation logic, called LinearActris, designed to
guarantee deadlock and leak freedom for message-passing concurrency. LinearActris …

Iron: Managing obligations in higher-order concurrent separation logic

A Bizjak, D Gratzer, R Krebbers, L Birkedal - Proceedings of the ACM on …, 2019 - dl.acm.org
Precise management of resources and the obligations they impose, such as the need to
dispose of memory, close locks, and release file handles, is hard---especially in the …

Abstraction and subsumption in modular verification of C programs

L Beringer, AW Appel - Formal Methods in System Design, 2021 - Springer
The type-theoretic notions of existential abstraction, subtyping, subsumption, and
intersection have useful analogues in separation-logic proofs of imperative programs. We …

Ghosts for lists: a critical module of Contiki verified in Frama-C

A Blanchard, N Kosmatov, F Loulergue - … Newport News, VA, USA, April 17 …, 2018 - Springer
Abstract Internet of Things (IoT) applications are becoming increasingly critical and require
rigorous formal verification. In this paper we target Contiki, a widely used open-source OS …