Misquoted No More: Securely Extracting F* Programs with IO
Cezar-Constantin Andrici, Abigail Pribisova, Danel Ahman, Catalin Hritcu, Exequiel Rivas, and Th\'eo Winterhalter

TL;DR
This paper introduces SEIO*, a framework for securely extracting F* programs with IO effects into a deeply embedded lambda calculus, providing formal guarantees of security and correctness through verified translation techniques.
Contribution
It presents a novel secure extraction method using relational quotation and verified code generation, ensuring strong security guarantees for embedded programs.
Findings
SEIO* guarantees Robust Relational Hyperproperty Preservation (RrHP).
The approach is machine-checked and formalized in F*.
It extends verified extraction to include security properties, not just correctness.
Abstract
Shallow embeddings that use monads to represent effects are popular in proof-oriented languages because they are convenient for formal verification. Once shallowly embedded programs are verified, they are often extracted to mainstream languages like OCaml or C and linked into larger codebases. The extraction process is not fully verified because it often involves quotation -- turning the shallowly embedded program into a deeply embedded one -- and verifying quotation remains a major open challenge. Instead, some prior work obtains formal correctness guarantees using translation validation to certify individual extraction results. We build on this idea, but limit the use of translation validation to a first extraction step that we call relational quotation and that uses a metaprogram to construct a typing derivation for the given shallowly embedded program. This metaprogram is simple,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
