Rust: The Future of Fail-Safe Software Development
In a move to revolutionize the landscape of safety-critical software, The Rust Foundation has united key vendors — including Arm and Toyota — and experts to form the Safety-Critical Rust Consortium, paving the way for the adoption of the Rust programming language in systems where failure is not an option.
Rust is not only one of the fastest-growing languages, it is also sought after for its memory safety, which the new consortium will help to proliferate.
Indeed, The Rust Foundation, AdaCore, Arm, Ferrous Systems, HighTec EDV-Systeme GmbH, OxidOS, TECHFUND, TrustInSoft, Veecle, Lynx Software Technologies, and Woven by Toyota make up the new group dedicated to the responsible use of Rust in safety-critical software.
Language Safety
“Programming language safety refers to a language’s ability to prevent errors or undefined behaviors at compile time or runtime. On the other hand, ‘safety-critical’ refers to a system’s ability to operate without causing accidents or catastrophic failures that will result in harm to people, property or the environment,” according to an FAQ provided by the founding members of the Safety-First Rust Consortium. “So, while safety-critical systems rely on languages that emphasize safety and security, such as Rust, programming tools are only one component of the overall strategy.”
Consortium Goals
The consortium aims to develop guidelines, tools, libraries, and language subsets to meet industrial and legal requirements for safety-critical systems.
Moreover, the initiative seeks to incorporate lessons learned from years of development in the open source ecosystem to make Rust a valuable component of safety toolkits across various industries and severity levels.
“I think the Safety-Critical Rust Consortium underscores the industry’s confidence in Rust’s capabilities to meet rigorous safety and reliability standards,” Arnal Dayaratna, an analyst at IDC, told The New Stack. “In particular, the consortium’s support from companies such as Toyota and Arm illustrates the industry’s recognition of how Rust’s memory safety management and concurrency safety capabilities differentiate it from languages such as C/C++.”
Moreover, “Given how ‘critical’ the safety-critical industry is, the Rust Foundation is very motivated to bring together key stakeholders across communities and industries to explore how Rust can meet compliance standards and contribute to better software for everyone,” said Rebecca Rumbul, executive director and CEO of the Rust Foundation, in a statement.
Industries Using Rust
Industries that are particularly concerned with functional safety include transportation (such as automotive, aviation, space), energy, life sciences, and more. Rust is used in mission-critical and embedded systems in many industries.
“Safety is our foremost priority in vehicle software development. Traditionally, achieving the highest levels of safety has been a complex and lengthy endeavor, requiring the use of specialized tools and processes beyond the programming language,” said JF Bastien, a distinguished engineer at Woven by Toyota, in a statement. “We are therefore pleased to collaborate with leading experts in the safety industry to integrate new tools such as Rust into our safety-critical systems,” said
Government agencies such as the NSA, CISA, NIST, and ONCD have all cited the importance of memory-safe languages, citing Rust as a potential example.
Microsoft’s Influence and Focus
Also, major vendors including Microsoft have advocated for the use of Rust for security and memory safety. As early as 2019, Microsoft expressed a need for “a safer systems programming language” and cited Rust as “the best choice for the industry to adopt whenever possible due to its ability to write systems-level programs in a memory-safe way.”
Another 2019 Microsoft Research post explains “Why Rust for safe systems programming.” The post explained how Rust represents the best alternative to C and C++ currently available.
“First, there are plenty of fantastic memory-safe languages already available and widely used inside and outside of Microsoft, including .NET languages like C# or F# and other languages like Swift, Go, and Python. We encourage anyone who is currently using C or C++ to consider whether one of these languages would be appropriate to use instead. We, however, are talking about the need for a safe systems programming language (i.e., a language that can build systems other software runs on, like OS kernels). Such workloads need the speed and predictable performance that C, C++, and Rust provide,” the post reads. “Languages which achieve memory safety through garbage collection are not ideal choices for systems programming because their runtimes can lead to unpredictable performance and unnecessary overhead.”
Moreover, Microsoft’s Azure CTO Mark Russinovich, has previously posted on X (formerly Twitter): “Speaking of languages, it’s time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.”
Microsoft, which recently contributed $1M to The Rust Foundation, also earlier this year decided to rewrite some C# code in Rust.
Broadening Community, Increasing Adoption
Meanwhile, the new consortium plans to work closely with the Rust community to broaden the user base and applicability of Rust without adversely affecting existing users and project participants.
“The Rust Foundation will consider the Safety-Critical Rust initiative to be successful if we begin to see Rust more broadly utilized across one or more safety-critical industries such as automotive or aerospace,” said Joel Marcey, director of technology at the Rust Foundation, in a statement.
Finally, “As the home of the Rust programming language, with a key goal to grow adoption and improve quality, the Rust Foundation is well-placed to facilitate and support cross-sectoral and cross-community discussion and collaboration to ensure that Rust is appropriate for use in the safety-critical industry,” Rumbul noted.
As such, “The consortium is likely to catalyze increased adoption of Rust for safety-critical use cases and applications and accelerate the maturation of the developer ecosystem for Rust,” Dayaratna said. “The maturation of the developer ecosystem for Rust is important because its steep learning curve has historically been one of the major impediments to its adoption.”