Why Legacy C/C++ Can No Longer Keep Up
Seventy percent of all disclosed security vulnerabilities in large systems trace back to a single root cause: memory-unsafe code written in C and C++. As demand grows for memory-safe programming, organizations are increasingly evaluating memory-safe Rust, Rust for embedded systems, and AI code translation approaches to modernize legacy software.
Buffer overflows, dangling pointers, use-after-free exploits — these are not edge cases. They are the dominant attack surface across defense platforms, automotive ECUs, telecommunications infrastructure, and the embedded systems that underpin Physical AI. The industry consensus is no longer debatable: bug-finding tools alone cannot fix what is fundamentally a language-level problem.
Yet the global installed base of C and C++ code is measured in the hundreds of billions of lines. It runs everything from fighter jet avionics to the router sitting in your home. Rewriting it manually is economically impossible. This creates the central tension of embedded systems engineering in 2026: the code must change, but the scale defies human effort alone.
The convergence of three forces — regulatory mandates, AI code translation, and the maturation of Rust for embedded systems — is now making the previously impossible migration not just feasible but inevitable. This article examines the state of that migration, its most promising R&D pathways, and a realistic vision of how agentic AI engineering can execute it at scale.
DARPA’s Push Towards Automated C to Rust Translation
In August 2024, DARPA launched the Translating All C to Rust (TRACTOR) program — an explicit acknowledgment that the Department of Defense itself depends on legacy C systems it can no longer afford to leave unprotected. The program’s ambition is to automate the translation of C code into idiomatic, memory-safe Rust that matches what a skilled human developer would produce.
TRACTOR is not a theoretical exercise. By mid-2025, DARPA awarded a $5 million grant to a multi-university consortium — Illinois, Wisconsin-Madison, UC Berkeley, and Edinburgh — to develop ForCLift (Formally-Verified Compositional Lifting of C to Rust), an approach that combines formal methods, program analysis, and LLMs to produce translations with mathematical correctness guarantees. The tool company Immunant, which maintains the C2Rust transpiler, is also a key contributor, providing the foundational static-analysis infrastructure.
DARPA program manager Dan Wallach has been candid: current LLMs can already produce reasonable C-to-Rust translations for straightforward code, but struggle with the complex pointer arithmetic, undefined behavior exploitation, and deeply coupled state that characterize real-world embedded systems. The research challenge is to close that gap for the hardest 20% of constructs that cause 80% of vulnerabilities. MIT Lincoln Laboratory is independently evaluating all TRACTOR submissions against production-grade codebases.
Beyond Translation: Building Safer Microservices
A line-by-line translation of monolithic C into monolithic Rust misses the architectural opportunity. The real prize is decomposing legacy “spaghetti” codebases into a Service-Oriented Architecture (SOA) of independently deployable, independently testable Rust microservices built on memory-safe programming principles — each assigned an explicit criticality level.
In the automotive domain, ISO 26262 defines Automotive Safety Integrity Levels from QM (no safety requirement) through ASIL-D (highest). The cost of verification and certification scales exponentially with ASIL level. Mixed-criticality architectures exploit this by isolating the smallest possible ASIL-D kernel — a brake actuator control loop, for instance — from ASIL-B sensor fusion pipelines and QM infotainment services. Each service runs with guaranteed worst-case execution time (WCET) budgets enforced by the underlying RTOS or hypervisor, such as PikeOS or QNX.
Rust microservices are uniquely suited for this decomposition. Its ownership model enforces memory isolation at compile time, eliminating entire classes of inter-service data corruption. The AUTOSAR consortium established a dedicated Rust Working Group in 2022, and Eclipse SDV’s S-CORE project already provides a Rust-based async runtime orchestrator targeting safety-critical automotive middleware. The SAE International’s SAfEr Rust Task Force is concretizing ISO 26262 guidelines specifically for Rust, including language subsetting and evidence generation.


