Software Ate My Spacecraft: System Safety Beyond Memory Safety

By David de Rosier

Talk - Tuesday, 15 September
12:00

Rust’s safety story is usually told through memory safety. But when spacecrafts fail, the cause is almost never a buffer overflow. It’s ambiguity: mismatched assumptions between components, contracts that lived in documentation rather than in code, state machines that allowed transitions nobody intended.

Safety-critical engineering has spent decades learning how to prevent exactly these kinds of failures. Some of those lessons map well onto Rust. Others don’t - they require discipline and design that no language enforces by default.

This talk explores that gap through real spacecraft failures and the engineering practices that emerged from them, connecting contract-based thinking, state-transition invariants, and system boundary correctness to practical Rust patterns. Sometimes Rust helps. Sometimes it can’t. Knowing the difference matters.

Speaker

speaker.name

David de Rosier

David is a system designer working on correctness- and latency-critical systems. His background spans academic research in parallel computing, low-level programming in Rust, C, and assembly, and active involvement in both the Rust and RISC-V communities as a speaker and mentor. He is a member of the Safety Critical Rust Consortium.