arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~

提升预处理器:Oxidize——保持结构的C到Rust翻译(技术报告)

Lifting the Preprocessor with Oxidize: Structure-Preserving C-to-Rust Translation (Technical Report)

Robbe De Greef, Théo Engels, Felix Van den Broucke, Ken Hasselmann, Antonio Paolillo

arXiv 2609.30062首次发表:更新:

发表机构

Vrije Universiteit Brussel; Royal Military Academy(布鲁塞尔自由大学; 皇家军事学院)

机构由 AI 辅助整理,请以论文原文为准。

AI 中文总结

Oxidize通过将C宏保留为Rust宏实现结构保持的C到Rust翻译,本报告补充了其技术细节、评估代码库、宏分类、安全Rust路线图及性能开销研究。

AI 中文摘要

本技术报告伴随我们EuroSys 2027论文《提升预处理器:Oxidize——保持结构的C到Rust翻译》(DOI https://doi.org/10.1145/3842654.3848533)发布。Oxidize是一个C到Rust翻译器,它将C宏保留为Rust宏而非展开消除,从而使翻译后的代码保留开发者编写的抽象。本报告收集了论文引用但篇幅不足的材料:翻译器的中间表示、通行结构及后端生成;通过辅助特性和通用转换宏实现宏类型化的细节;九个被评估C代码库的来源及固定修订版本;各代码库的宏数量及宏如何归因于类别;从保持结构翻译迈向安全Rust的路线图;性能开销研究及其方法论;以及用于基于LLM基线的配置和提示。

英文摘要

This technical report accompanies our EuroSys 2027 paper "Lifting the Preprocessor with Oxidize: Structure-Preserving C-to-Rust Translation" (DOI 10.1145/3842654.3848533). Oxidize is a C-to-Rust translator that retains C macros as Rust macros instead of expanding them away, so that the translated code keeps the abstractions its developers wrote. The report collects material the paper cites but has no room for: the translator's intermediate representation, pass structure and back-end emission; the details of macro typing through helper traits and the generic cast macro; the sources and pinned revisions of the nine evaluated C codebases; the per-codebase macro population and how macros are attributed to classes; a roadmap from structure-preserving translation toward safe Rust; the performance overhead study and its methodology; and the configuration and prompt used for the LLM-based baselines.

Comments11 pages. Technical report accompanying the EuroSys 2027 paper, DOI 10.1145/3842654.3848533

论文原文

arXiv 摘要页 · PDF 原文 · HTML 原文

↑