Modal Abstractions for Virtualizing Memory Addresses
Ismail Kuru, Colin S. Gordon
Abstract
Virtual memory management (VMM) code is a critical piece of general-purpose OS kernels, but verification of this functionality is challenging due to the complexity of the hardware interface (the page tables are updated via writes to those memory locations, using addresses which are themselves virtualized). Prior work on verification of VMM code has either only handled a single address space, or trusted significant pieces of assembly code. In this paper, we introduce a modal abstraction to describe the truth of assertions relative to a specific virtual address space: [r]P indicating that P holds in the virtual address space rooted at r. Such modal assertions allow different address spaces to refer to each other, enabling complete verification of instruction sequences manipulating multiple address spaces. Using them effectively requires working with other assertions, such as points-to assertions about memory contents — which implicitly depend on the address space they are used in. We therefore define virtual points-to assertions to definitionally mimic hardware address translation, relative to a page table root. We demonstrate our approach with challenging fragments of VMM code showing that our approach handles examples beyond what prior work can address, including reasoning about a sequence of instructions as it changes address spaces. Our results are formalized for a RISC-like fragment of x86-64 assembly in Rocq.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 56448b30-8d1e-4b98-89ab-964a7a607f9fBuilds on4
- RustBelt meets relaxed memoryHoang-Hai Dang, Jacques-Henri Jourdan, Jan-Oliver Kaiser, Derek DreyerPOPL 2020 · 68 citations
- Compass: strong and compositional library specifications in relaxed memory separation logicHoang-Hai Dang, Jaehwang Jung, Jaemin Choi, Duc-Than Nguyen et al.PLDI 2022 · 19 citations
- PulseCore: An Impredicative Concurrent Separation Logic for Dependently Typed ProgramsGabriel Ebner, Guido Martínez, Aseem Rastogi, Thibault Dardinier et al.PLDI 2025 · 8 citations
- Realistic Realizability: Specifying ABIs You Can Count OnAndrew Wagner, Zachary Eisbach, Amal AhmedOOPSLA 2024 · 6 citations
Related papers
- ArchSem: Reusable Rigorous Semantics of Relaxed ArchitecturesThibaut Pérami, Thomas Bauereiss, Brian Campbell, Zongyuan Liu et al.POPL 2026 · 1 citation
- Formal Verification of a Multiprocessor Hypervisor on Arm Relaxed Memory HardwareRunzhou Tao, Jianan Yao, Xupeng Li, Shih-Wei Li et al.SOSP 2021 · 24 citations
- Design and Verification of the Arm Confidential Compute ArchitectureXupeng Li, Xuheng Li, Christoffer Dall, Ronghui Gu et al.OSDI 2022 · 60 citations
- CARAT: a case for virtual memory through compiler- and runtime-based address translationBrian Suchy, Simone Campanoni, Nikos Hardavellas, Peter A. DindaPLDI 2020 · 16 citations
- Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86Azalea Raad, Ori Lahav, Viktor VafeiadisOOPSLA 2020 · 20 citations
