A Mechanically Verified Garbage Collector for OCaml
This program is tentative and subject to change.
The GC is a critical component of the OCaml runtime system, and its correctness is essential for the safety of OCaml programs. Therefore, we propose a strategy for crafting a correct, proof-oriented GC from scratch, designed to evolve over time with additional language features. Our approach neatly separates abstract GC correctness from OCaml-specific GC correctness, offering the ability to integrate further GC optimizations, while preserving core abstract GC correctness. As an initial step to demonstrate the viability of our approach, we have developed a verified stop-the-world mark-and- sweep GC for OCaml. The approach is mechanized in F* and its low-level subset Low*. We use the KaRaMel compiler to compile Low* to C, and the verified GC is integrated with the OCaml runtime. Our GC is evaluated against off-the shelf OCaml GC and Boehm-Demers-Weiser conservative GC, and the experimental results show that verified GC is pragmatic.
This program is tentative and subject to change.
Fri 17 OctDisplayed time zone: Perth change
10:30 - 12:15 | |||
10:30 30mTalk | Taming the Flat Float Array Optimization: Tracking Separability in the Type System OCaml | ||
11:00 30mTalk | A Mechanically Verified Garbage Collector for OCaml OCaml Sheera Shamsu IIT Madras, Dipesh Kafle NIT Trichy, Tiruchirappalli, India, Dhruv Maroo IIT Madras, Chennai, Kartik Nagar IIT Madras, Karthikeyan Bhargavan Cryspen, France, KC Sivaramakrishnan IIT Madras and Tarides | ||
11:30 30mTalk | OCaml Package Management with (only!) Dune OCaml |