kirancodes.me
To Proof Maintenance & Beyond!
TACAS 2025★ Best Tool Paper★ Distinguished Paper

Dynamic Verification of OCaml Software with Gospel and Ortac/QCheck-STM

Nikolaus Huber, Naomi Spargo, Nicolas Osborne, Samuel Hym, Jan Midtgaard

Abstract

Abstract This paper introduces the QCheck-STM plugin for Ortac, a framework for dynamic verification of OCaml code. Ortac/QCheck-STM consumes OCaml module signatures annotated with behavioural specification contracts expressed in the Gospel language, extracts a functional model of a mutable data structure from it, and generates code for automated runtime assertion checking. We report on the implementation of the tool, the structure of the generated code, and on errors found in established OCaml libraries.

Related papers