一句话:利用软件合成从高层内存硬件映射规约自动生成经过验证的底层操作系统代码,并支持硬件组件生成。
操作系统正确配置内存硬件对系统安全与隔离至关重要,但为层出不穷的新翻译与保护机制手工改写 OS 代码既重复耗时,又易引入破坏安全保证的细微缺陷。Velosiraptor 提出一种自动生成底层内存硬件配置代码的方法:开发者只需用高层语言描述内存硬件的映射行为以及 OS 运行环境,工具链便利用软件合成技术、借助问题的领域特性高效地将规约转化为可与 OS 直接链接的经过验证的实现。评估表明,该方案能让 OS 无需关心内存硬件配置代码即可移植到新平台,同时同一规约还可用于生成硬件组件,从而把 OS 开发者从手工编写相关代码中解放出来,并支持新型翻译机制的研究。
Security is among the top concerns of operating system (OS) developers. A secure runtime environment relies on the OS to correctly configure the memory hardware on which it runs. This is mission-critical as it provides essential security-relevant features and abstractions that ensure the integrity and isolation of untrusted applications running alongside each other. Configuring a platform's memory hardware is not a one-off effort as designers constantly develop new mechanisms for translation and protection with different features and means of configuration. Adapting the OS code to the new hardware is not only a manual, repetitive and time-consuming task, it may also introduce subtle, but security-critical bugs that break security and isolation guarantees. We present Velosiraptor, a system that automatically generates correct, low-level OS code that programs the memory hardware of a machine. Velosiraptor leverages software synthesis techniques and exploits the domain specificity of the problem to make the synthesis process efficient. With Velosiraptor, developers write only a high-level description of the memory hardware's mapping behavior and OS environment. The Velosiraptor toolchain transforms this specification into a verified implementation that can be linked directly with the rest of the operating system. Incorporating the OS environment into this process allows porting an OS to new hardware platforms without worrying about writing code to configure the memory hardware. We can also use the same specification to generate hardware components. This enables research in new translation mechanisms, freeing up OS developers from manually writing OS code.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{AchermannCMKS25,
title = {<i>Velosiraptor</i>
: Code Synthesis for Memory Translation},
author = {Reto Achermann and Em Chu and Ryan Mehri and Ilias Karimalis and Margo Seltzer},
booktitle = {ASPLOS},
year = {2025},
doi = {10.1145/3676641.3711998}
}