Title: A Mechanically Verified Garbage Collector for OCaml
When: Tuesday, 18 November 2025 at 1900 hrs (IST)
Meeting Details: Zoom link, ID: 891 6409 4870, Passcode: 082194
Abstract:
OCaml is a garbage-collected (GC) language, where unused memory
is automatically and reliably freed. OCaml's GC is known for
its high throughput and low latency, making it suitable for
both batch jobs and interactive systems. OCaml GC is
non-trivial and written in C, and is a part of the trusted
computing base of OCaml programs. Bugs in the GC have the
potential to violate the type safety of OCaml programs. In this
talk, I will describe our work in developing a correct,
proof-oriented GC for OCaml from scratch, capable of being
swapped into the existing OCaml runtime system. Our GC is
simple — a stop-the-world mark-and-sweep collector
— but is capable of running non-trivial OCaml programs.
The GC is developed in F* and its low-level subset Low*, which
is compiled to memory-safe C. I will also describe the
extension of our collector to enable generational and
incremental collection.
This work was published in the Journal of Automated Reasoning
(link).