RefinedC: automating the foundational verification of C code with refined ownership types
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 …
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
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 …
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 …
systems, however, it is often combined with other programming and concurrency paradigms …
From C to interaction trees: specifying, verifying, and testing a networked server
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 …
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 …
handle the semantics of your programming language. You must reason in the mathematics …
An Iris instance for verifying CompCert C programs
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 …
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
We introduce a linear concurrent separation logic, called LinearActris, designed to
guarantee deadlock and leak freedom for message-passing concurrency. LinearActris …
guarantee deadlock and leak freedom for message-passing concurrency. LinearActris …
Iron: Managing obligations in higher-order concurrent separation logic
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 …
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 …
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 …
rigorous formal verification. In this paper we target Contiki, a widely used open-source OS …