Insights
The Rust programming language provides powerful guarantees around memory and thread safety. It also exposes all the knobs required for implementing custom rules, enabling a project to make additional guarantees and enforce opinions on best practice. Embedded standards are very opinionated about software practices—like using floating point values as loop counters or the number of possible exit points of a function—and Rust’s defaults don’t prevent every runtime panic (for example, recursion that goes too deep and overflows the stack).
Whitepapers
The Challenge of Using C in Safety-Critical Applications
Shea Newton, Nathan Aschbacher
We examine the challenges of using C and its associated standards and tools when applied to safety-critical applications.
Safety Implications of Serialization Timing in Autonomous Vehicles
Zachary Pierce, Nathan Aschbacher
We examine the effect differences that time budget consumption of cross-component message serialization has on overall system safety.