← Back to NASA Technology Projects

Rust Programming Language as a First-Class Citizen in cFS

Completed TRL 3 (started at 3, targeting 5)

Description

NASA’s core Flight System (cFS) is Goddard-developed software that provides the foundation for a flight software (FSW) system. cFS is written in C, a language that provides no protections against memory or concurrency errors that can cause mission-ending bugs or security vulnerabilities and requires expensive verification pre-launch. This project converts portions of the core Flight Executive (cFE), the heart of cFS, to the Rust language to gain memory and concurrency safety and provide a native Rust application programming interface (API) to allow projects to optionally begin writing future apps in Rust, while remaining backward compatible with existing apps in the C language.

Benefits

The Rust language prevents situations that can cause memory and concurrency (timing) errors at compile time. Code written in Rust can therefore access memory and perform tasks in parallel without memory and race condition related bugs that can cause cybersecurity vulnerabilities, crash the spacecraft, or even prematurely end the mission. By updating cFE to use Rust, foundational software that makes up the heart of many flight systems at NASA will be immune from such problems. By catching issues at compile time, FSW will also be easier to validate during integration & test, leading to fewer expensive and time-consuming changes later. Finally, by exposing a new API to develop mission apps in Rust, missions will be able to choose to develop some of their apps in Rust, getting the same guarantees that will apply to the core software.

Details

Technology areaSoftware, Modeling, Simulation, and Information Processing > Software Development, Engineering, and Integrity > Frameworks, Languages, Tools, and Standards
ProgramCenter Independent Research & Development: GSFC IRAD (GSFC IRAD)
Lead organizationGoddard Space Flight Center, Greenbelt, MD
Start date2024-10-01
End date2025-09-30

Project contacts

Listed on TechPort itself — the most direct way to ask about this specific project.

How to get involved

This is early/mid-stage (TRL 3) — the most realistic path in is NASA SBIR/STTR, which funds small businesses and research institutions to develop technology aligned with NASA's needs (equity-free, phased funding). Check whether a current SBIR/STTR solicitation topic overlaps with this project's technology area, or contact the project directly (above) to ask.

None of these are guaranteed paths for this specific project — TechPort itself doesn't have an "apply" button. Reaching out to the contact(s) above with a specific question is usually the fastest way to find out what's actually open.