CRAM by GrammaTech semi-automatically migrates well-designed C++ code into idiomatic Rust code. It leverages Rust’s safe programming abstractions, particularly its memory access interface enforced by an ownership model. CRAM aims to reduce program crashes, hangs, and security vulnerabilities caused by low-level memory management in legacy languages. The migrated source code will be human-readable and ready for further development in Rust. The migration process first refactors the C++ program to a new C++ program, enforcing many Rust programming abstractions at the C++ level, which prepares for the translation into Rust. CRAM identifies computational patterns in C++ programs and translates them into Rust code templates, supported by a library for code pattern translation. It offers improved C++ as a refactoring by-product. Refactored C++ is available as a stand-alone capability and allows for migration transparency, with user monitoring enabling side-by-side inspection of changes. GrammaTech's experts, with DARPA-developed technology, can automatically migrate tens of thousands of lines of code. Migrating C++ to Rust is significantly faster and more accurate than manual migration. Verification of equivalent end-product functionality is provided. CRAM has achieved a 2.7x performance improvement in C++ refactoring and a 3x performance improvement following automated migration to Rust, with results varying depending on initial code quality.