ECOOP 2026
Mon 29 June - Fri 3 July 2026 Brussels, Belgium

This program is tentative and subject to change.

Thu 2 Jul 2026 16:00 - 17:30 at I.aaa - ECOOP Academy Lecture 6

Conceptually, a database backing store is just a shared memory. However, modern stores are internally complex, due to the demands of performance, scalability, or fault tolerance; and complexity invites bugs.

Using formal specifications can ensure correctness, but risks being not representative of real systems. Here, we take a formal approach that remains pragmatic: it is grounded in actual database practice and results in a compact, efficient implementation.

We formalise our intuition of transactions, of rich data types, and of store safety. Our analysis exposes the timestamp inversion bug, which was missed by previous formalisms, and a sufficient condition to avoid it.

We go on to specify two basic storage types, map- and journal-based, and prove them safe. This enables us to deconstruct the modern store into a composition of simpler basic stores. Reading the formal semantics as pseudocode, we translate it to Java code, and implement a reasonably efficient clone of RocksDB in only 3 kLoC. We claim an improved understanding of a complex backing store, deconstructing it into simple components, and better confidence in its correctness.

This program is tentative and subject to change.

Thu 2 Jul

Displayed time zone: Brussels, Copenhagen, Madrid, Paris change

16:00 - 17:30
ECOOP Academy Lecture 6ECOOP Academy at I.aaa
16:00
90m
Talk
Modelling, Verifying & Implementing database backends
ECOOP Academy
Marc Shapiro Sorbonne-Université (LIP6) & Inria