A new programming language
What decision-makers need to know about Rust
Rust is a multi-paradigm programming language designed with safety, concurrency and performance as first-class goals.
Stas – Adobe Stock
As SDVs raise demands for safety and speed, Rust is gaining traction in automotive software. The language promises fewer defects, strong security guarantees and growing relevance for OEM development strategies.
As vehicles become increasingly software-defined, functional control is shifting decisively towards software,
while hardware is turning into a more interchangeable execution layer. One of
the core promises of software-defined vehicles is the ability to distribute
updates quickly across the entire vehicle and to enable free data flow between
systems, making it easier to develop new data-driven functions. This shift,
however, comes with extremely high requirements for functional safety and
cybersecurity. At the same time, development organisations face mounting
pressure to shorten release cycles, even as safety expectations continue to
rise.
The cost of software defects grows exponentially the later
they are discovered in the development lifecycle. To mitigate these risks, OEMs
rely on strict development guidelines, safety-oriented toolchains, static and
dynamic analysis methods, and extensive validation and approval processes.
While these measures improve robustness, they also increase development
complexity and effort. Within this tension, the
programming language Rust is gaining increasing attention in the automotive
sector.
Where Rust comes from
Rust is a multi-paradigm programming language designed with
safety, concurrency and performance as first-class goals. Its origins lie not
in academia, but in a practical engineering problem. In the mid-2000s, Canadian
software developer Graydon Hoare was working with C++ on complex systems and
repeatedly encountered familiar issues: unsafe memory access, hard-to-control
side effects and security vulnerabilities that often surfaced late in
development. In response, he began developing Rust in 2006 as a personal
project, aiming to combine the performance of system-level languages with much
stronger safety guarantees.
Mozilla recognised the project’s potential in 2009 and
provided resources to support its development. Over time, Rust evolved into an
industrial-grade programming language with a clear focus on reliability and
scalability. Today, it is stewarded by the independent Rust Foundation and
continuously developed by a global open-source community. Rust has gained
traction particularly in domains where traditional C or C++ approaches reach
their limits, such as safety-critical system software and embedded applications.
Its design philosophy remains consistent: eliminate entire classes of errors
early, rather than attempting to fix them in operation — a principle that
aligns closely with the needs of software-defined vehicles.
Why automotive projects are turning to Rust
From the perspective of Stefan
Nürnberger, co-founder and CEO of Veecle, Rust represents a significant step
change. “It solves problems that C and C++ introduced decades ago—and
that the automotive industry is still suffering from today,” he points out. When
founding the company, the team consciously chose to adopt the relatively young
language and invested heavily in making it viable for safety-critical
automotive use. Early adopters included OEMs such as Volvo, Hyundai, Kia,
Genesis and Renault, which introduced internal guidelines favouring Rust for
new developments.
A key advantage lies in the drastic reduction of typical
software errors. According to Nürnberger, debugging time can be reduced by
roughly a factor of two. Rust also strengthens protection against unauthorised
over-the-air updates, significantly lowering the risk of backdoors. In
addition, the language enables stronger abstraction from hardware and operating
systems, allowing code to be reused on future, as-yet-unknown platforms — a
decisive benefit given increasingly compressed vehicle development cycles,
particularly among Chinese OEMs.
At Ampere, the electric mobility
brand within the Renault Group, Rust has also been deployed strategically.
Its software-defined vehicle platform was developed in partnership with Google
and Qualcomm, creating an opportunity to start certain components from scratch.
Rust-based frameworks now serve as the backbone for application development.
More than 200 developers were trained specifically for this purpose. The result
has been a gradual reduction in time to market and a noticeable increase in
developer satisfaction. According to Ampere, Rust makes it possible to combine
safety, performance and usability rather than trading one for another.
In practice, Ampere uses Rust primarily where high
performance, strong security requirements or greater architectural freedom are
essential — including cryptographic functions, internet-facing code and
critical firmware update components. Rust is deliberately combined with
existing C and C++ codebases as well as model-based generated code. This hybrid
approach allows proven, qualified software to remain in place while selectively
introducing new technology. Partners involved in these projects have reported cost
reductions of up to 20 percent due to higher productivity, alongside the
elimination of around 70 percent of common software defects.
How generative AI could accelerate adoption
According to Nürnberger, the decision to adopt Rust must be
made at management level. One of the main obstacles remains the limited number
of experienced Rust developers. As a result, many OEMs currently rely on
specialised startups to bridge the gap. However, the rise of large language
models could significantly accelerate skill development. By enriching AI tools
with vehicle-specific context, Rust code generation and onboarding can be made
more efficient and reliable.
As a practical example, Nürnberger points to a simple
customer-facing function that allows a windscreen wiper to move into service
position via an app. With AI-assisted development, working code for such a
function can be generated within minutes. Traditionally, achieving
production-level quality could require months of work by large teams. While AI
does not replace engineering expertise, it can dramatically lower entry
barriers and speed up iteration cycles.
Where Rust still faces limitations
Despite its progress, Rust still presents challenges. One
frequently cited issue is the lack of a stable application binary interface
(ABI), which often necessitates continued use of C interfaces. For upcoming
vehicle generations, Ampere plans to deploy Rust in safety-critical contexts up
to ASIL B, including advanced driver assistance functions that require complex
sensor fusion and strict functional safety.
Adapting ISO 26262 processes to Rust-based development
remains an ongoing task. While no fundamental technical barriers exist for ASIL
B, programming guidelines, tooling and development practices must evolve. For
ASIL D applications, further limitations are expected in the near term.
Industry experts recommend closely following the work of the Rust Foundation’s
Safety-Critical Consortium in this area.
Another challenge lies in supply-chain integration. Many
supplier components are deeply embedded in safety-critical systems.
Nevertheless, in areas such as SoC firmware, hypervisor drivers and
connectivity stacks, Rust has the potential to reduce system complexity and
improve resilience against cyberattacks.
Where Rust makes sense — and where it does not
Current industry experience shows that Rust delivers the
most value in new software components or when extending existing architectures
in a targeted way. At Ampere, the language is deliberately applied to new
modules addressing emerging security requirements or providing greater design
freedom. This makes Rust particularly suitable for platform-based development
and next-generation architectures.
At the same time, Rust is not intended to replace entire
legacy software landscapes. Qualified, validated code remains a core asset in
automotive development and is complemented rather than displaced. OEMs that
prioritise Rust typically mandate its use for new features while maintaining
existing systems. Rust is therefore best understood not as a retrofitting tool,
but as a strategic instrument for controlled evolution.
What to consider when introducing Rust
Adopting Rust is less a technical detail than a strategic
decision. It requires clear prioritisation, long-term planning and strong
management backing. New ways of thinking and working cannot be introduced in
isolation but must be integrated into established development processes. The
Ampere example highlights that capability building is a critical success
factor: productivity gains are the result of deliberate investment, not
immediate outcomes.
Most organisations pursue a phased approach, introducing
Rust selectively where it offers clear benefits. Successful adoption occurs
when organisational structures, processes and technology evolve together — and
when Rust is treated as a strategic enabler rather than a quick replacement for
existing solutions.