POPL 2024
Sun 14 - Sat 20 January 2024 London, United Kingdom
Sun 14 Jan 2024 09:10 - 10:10 at Turing Lecture - Applications Chair(s): Stefan Zetzsche

Bugs in systems software like file systems, databases, and operating systems can have serious consequences, ranging from security vulnerabilities to data loss, and these bugs affect all the applications built on top.

In this talk, I’ll present some of our work on developing a verified, concurrent file system called DaisyNFS. The system is divided into a transaction system called GoTxn, which handles the key challenges of crash safety and concurrency, and the file-system logic which runs on top. The design enables combining two quite different verification techniques: interactive proofs in Coq and automated proofs in Dafny. For GoTxn’s proof, we develop a new program logic called Perennial for reasoning about crash safety and concurrency, which uses interactive proofs and is built on top of Iris in the Coq proof assistant. For the file-system logic, we implement each file-system operation as a transaction that can be verified using Dafny since it appears to run atomically. The result is a verified implementation of a server that implements the NFS protocol, gets good performance, and has relatively low proof burden for the file-system logic.

Sun 14 Jan

Displayed time zone: London change

09:00 - 10:30
ApplicationsDafny at Turing Lecture
Chair(s): Stefan Zetzsche Amazon Web Services
09:00
10m
Day opening
Day opening
Dafny
Stefan Zetzsche Amazon Web Services, Joseph Tassarotti NYU
09:10
60m
Keynote
Verifying a concurrent file system with sequential reasoning
Dafny
Tej Chajed UW-Madison
10:12
18m
Talk
Towards the verification of a generic interlocking logic: Dafny meets parameterized model checking
Dafny
Alessandro Cimatti Fondazione Bruno Kessler, Alberto Griggio Fondazione Bruno Kessler, Gianluca Redondi Fondazione Bruno Kessler