Endangered by the Language But Saved by the Compiler: Robust Safety via Semantic Back-Translation
It is common for programmers to assemble their programs from a combination of trusted and untrusted components. In this context, a trusted program component is said to be robustly safe if it behaves safely when linked against arbitrary untrusted code. Prior work has shown how various encapsulation mechanisms (in both high- and low-level languages) can be used to protect code so that it is robustly safe, but none of the existing work has explored how robust safety can be achieved in a patently unsafe language like C. In this paper, we show how to bring robust safety to a simple yet representative C-like language we call Rec. Although Rec (like C) is inherently ”dangerous” and thus not robustly safe, we can ”save” Rec programs via compilation to Cap, a CHERI-like capability machine . To formalize the benefits of such a hardening compiler , we develop Reckon, a separation logic for verifying robust safety of Rec programs. Reckon is not sound under Rec’s unsafe, C-like semantics, but it is sound when Rec programs are hardened via compilation and linked against untrusted code running on Cap. As a crucial step in proving soundness of Reckon, we introduce a novel technique of semantic back-translation , which we formalize by building on the DimSum framework for multi-language semantics. All our results are mechanized in the Rocq prover.
Authors
- Niklas Mück (ORCID: https://orcid.org/0009-0006-9622-0762)
- Aïna Linn Georges (ORCID: https://orcid.org/0000-0002-5951-4642)
- Derek R. Dreyer (ORCID: https://orcid.org/0000-0002-3884-6867)
- Michael Sammler (ORCID: https://orcid.org/0000-0003-4591-743X)
- Deepak Garg (ORCID: https://orcid.org/0000-0001-5755-2752)
Institutions
- Institute of Science and Technology Austria (AT)
- Max Planck Institute for Software Systems (DE)
Publication Details
- Journal
- Proceedings of the ACM on Programming Languages
- Published
- 2026-01-08
- DOI
- https://doi.org/10.1145/3776682
- Primary Topic
- Security and Verification in Computing
- Type
- article
- Field-Weighted Citation Impact
- 0.00