arXiv · 2609.32877
Multi-language Program Logics
Abstract
Real-world programs are rarely written in a single language: For example, C programs call assembly routines, and high-level languages like OCaml link with low-level C libraries. Yet program logics---one of the most successful techniques for modular program verification---almost exclusively target single-language programs. We present Hotpot, the first framework for building multi-language program logics. Hotpot enables compilation-independent, cross-language reasoning about languages with heterogeneous views of shared state. Hotpot rests on four key ideas: abstract calls to specify calls to unknown functions, lanes and the switching modality to move between languages inside the program logic, uniform integration of refinement reasoning via lanes, and exchanges to translate between separation logic assertions of different languages. We demonstrate that Hotpot allows reusing specifications across implementations in different languages, supports reasoning about higher-order cross-language function calls, and integrates with verified compilation. Hotpot is built on top of Iris and DimSum and mechanized in the Rocq Prover.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Alexander Loitzl, Niklas Mück, Michael Sammler. 2026-09-26. Multi-language Program Logics. https://arxiv.org/abs/2609.32877
Cite the original work for its findings. Save a collection to share your selection of sources.