Cerise

Program verification on capability machines,
in the presence of untrusted code

Rocq formalization Documentation Try the interpreter

About

The Cerise project is a family of program logics and logical relations for reasoning on programs running on capability machine, including programs that interact with unknown or potentially malicious code. Cerise implements a capability machine architectures inspired from CHERI, in which the CPU enables fine-grained memory safety and privilege separation through the use of hardware capabilities. The program logics and logical relations of the Cerise family are formalised and mechanised in the Rocq Prover, using the Iris separation logic framework.

Resources

Publications

Overview of the published papers, PhD thesis and workshop presentations based on the Cerise framework.

Other Material

Other unpublished material.

Main research groups involved

PLS Group

Department of Computer Science, Aarhus University.

Contact: Lars Birkedal

Grants

The Cerise project has been supported in part by the following grants: