Reproduce “Mostly Automatic Translation of Language Interpreters from C to Safe Rust” on OpenResearch

Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.

Universal app for Apple silicon and Intel. Requires macOS 11 or later.

About this paper

Bo Wang, Brandon Paulsen, Joey Dodds, Daniel Kroening, Umang Mathur, Prateek Saxena

The Reboot system, developed by researchers from NUS and Amazon, semi-automatically translates complex C language interpreters into fully memory-safe Rust, achieving 100% test pass rates and eliminating or mitigating 18 out of 20 historical CVEs in a case study. This approach leverages a novel decomposition strategy and a robust multi-agent architecture to manage the complexity and unreliability inherent in large-scale code translation.

Key insights

  • Decomposing by "feature reduction" enables agents to refactor code more effectively for Rust's ownership model, leading to higher-quality, idiomatic translations and improved scalability for complex, cross-cutting program features.
  • A robust multi-agent orchestration system with explicit fault detection, recovery, and history-based feedback can effectively manage the unreliability of individual coding agents for complex, long-running software engineering tasks.
  • Translating C interpreters to safe Rust through this methodology can substantially enhance software security by systematically eliminating common memory safety vulnerabilities like buffer overflows and use-after-free errors.

Summary by alphaXiv.

Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.