Modal Abstractions for Virtualizing Memory Addresses
Ismail Kuru, Colin S. Gordon

TL;DR
This paper introduces modal abstractions for verifying virtual memory management code in operating systems, enabling reasoning about multiple address spaces and their interactions within a formal proof framework.
Contribution
It proposes a novel modal abstraction approach for verifying complex virtual memory operations, addressing limitations of prior methods.
Findings
Handles verification of multi-address space instruction sequences
Models hardware address translation relative to page tables
Mechanized proofs in Coq demonstrate effectiveness
Abstract
Operating system kernels employ virtual memory subsystems, which use a CPU's memory management units (MMUs) to virtualize the addresses of memory regions Operating systems manipulate these virtualized memory mappings to isolate untrusted processes, restrict which memory is accessible to different processes, hide memory limits from user programs, ensure process isolation, implement demand-paging and copy-on-write behaviors for performance and resource controls. 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. 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…
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.
Taxonomy
TopicsSecurity and Verification in Computing · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
