This project will provide Rust language support for NASA’s core Flight System (cFS). The Rust language is designed to be memory-safe: it detects a wide range of programmer errors at compile-time while allowing low-level access to hardware and high performance. Rust’s safety features make it ideal for writing new cFS applications.More »
The primary benefit of this work will be to make reliable flight software less costly and thus more widely accessible. With a smaller investment required to obtain reliable software, groups with constrained budgets will be able to reduce the negative impacts of software bugs such as loss of science data and even loss of the satellite. This will be especially helpful for improving the reliability of small platforms such as CubeSats.
We will realize this benefit by pairing Rust with cFS to allow developers to provide more reliable code. NASA’s cFS was made trustworthy through flight heritage and extensive testing; Rust allows new cFS applications to become trusted through rigorous compile-time checks that ensure code-correctness. The Rust compiler is more strict than C compilers, and as a result, Rust can eliminate common C run-time errors such as null pointers, double free, and use after free errors. These errors are often difficult to identify as they may only occur under particular run-time conditions.More »
|Organizations Performing Work
|Goddard Space Flight Center (GSFC)