The Ferrocene Rust toolchain developed by Ferrous Systems in Germany is the first to be qualified to the IEC 62304 Class C standard for medical device software.
Rust is rapidly gaining traction in the medical device industry due to its robust memory safety and concurrency features, which are critical for ensuring reliability and performance in safety-critical applications such as medical devices.
Rust’s strong track record in cybersecurity also aligns with increasing regulatory demands, including Section 524B of the FD&C Act, which requires manufacturers to maintain a strong cybersecurity posture, and the FDA’s final guidance on cybersecurity in medical devices, emphasizing the importance of secure software development practices, risk management, and cybersecurity measures throughout the medical device lifecycle.
- A safe subset of C for automated conversion to Rust
- Competition to use AI to convert legacy C code to Rust automatically
The Ferrocene toolchain is already qualified to automotive ISO 26262 and ASIL-D levels and industrial IEC 61508 SIL4 levels. The latest release, Ferrocene 24.11, is currently qualified for use on x86-64 Linux and Armv8-A bare metal, as well as QNX Neutrino 7.1.0 for x86-64 and Armv8-A. The source code of Ferrocene is fully open source under the MIT or Apache-2.0 licenses, including the full qualification documents.
“Qualifying Ferrocene under IEC 62304 demonstrates our commitment to advancing safety-critical software development through tools that enhance both security and performance,” said Florian Gilcher, managing director and co-founder of Ferrous Systems. “We’re excited to help medical device developers leverage the power of Rust to create innovative healthcare solutions that meet the highest industry standards.”
The bindgen tool allows Rust developers can automatically generate bindings to interface with existing C/C++ libraries, enabling seamless integration of pre-existing code while maintaining Rust’s strong safety and concurrency guarantees.
Rust’s ownership model, which manages memory safely and efficiently at compile time without requiring a garbage collector, helps developers avoid undefined behaviour and eliminates runtime overhead says Ferrous Systems. The memory model provides consistent performance, essential for real-time responses in critical medical applications.