The Memory Safety Imperative
The push for memory-safe languages in critical infrastructure is gaining momentum. Government mandates like CISA/ONCD's "Back to the Building Blocks" initiative, coupled with significant industry efforts such as Google's Rust-in-the-kernel program and Microsoft's increasing adoption of Rust, signal a clear priority: migrating away from C/C++'s memory-unsafe pitfalls. Yet, the actual progress and scope of this migration remain largely anecdotal. While high-profile successes like Firefox's style engine rewrite, ripgrep, and sudo-rs offer glimpses, a comprehensive, code-level understanding of the aggregate state of this migration has been missing. A new, detailed census of 32 repositories aims to fill this gap. By examining 16 era-paired C/Rust project pairs across four distinct tiers of software, this analysis provides a quantitative snapshot of the memory-safety migration.System Utilities: The Core of the Migration
In the realm of system utilities, the migration is most visibly tracked through direct replacements. Projects like coreutils, a foundational suite of command-line tools, are being mirrored by Rust implementations like uutils. Similarly, sudo, the venerable privilege escalation tool, has a Rust counterpart in sudo-rs. The-silver-searcher, a code-searching utility, finds its Rust equivalent in ripgrep, renowned for its speed. Git, the distributed version control system, is seeing its core logic re-implemented in Rust via gitoxide. These pairs represent a direct comparison, offering insights into the feasibility and challenges of replacing established C codebases with memory-safe alternatives.
