Was Entscheider zur Rust Programmiersprache wissen müssen
Daniela HoffmannDanielaHoffmann
Redaktion Redaktion
Renault setzt für die eigene SDV-Plattform die relativ neue Programmiersprache Rust ein.(Bild: Renault)
Sicherheit, Geschwindigkeit, weniger Fehler: Rust gewinnt im Automotive-Umfeld an Bedeutung. Dieser Artikel erklärt, welche Akteure Rust bereits einsetzen, welche Vorteile die Sprache bietet, wo noch Hürden bestehen und wie der Einstieg realistisch gelingt.
Anzeige
In softwaredefinierten Fahrzeugen verlagert sich die
funktionale Hoheit zunehmend auf die Software, während die Hardware mehr und
mehr zur austauschbaren Ausführungsplattform wird. „Eines der Versprechen von
SDVs besteht hauptsächlich darin, Updates sehr schnell, überall im Fahrzeug
ausliefern zu können, und den Datenfluss zwischen allen Teilen des Fahrzeugs
frei zu gestalten, um die Entwicklung neuer datenorientierter Funktionen zu
erleichtern“, stellt Frédéric Ameye fest, Cybersecurity & Embedded Systems Expert
bei Ampere, der Elektromobilitätsmarke des Renault-Konzerns. Das gehe mit sehr
strengen Anforderungen an funktionale Sicherheit und Cybersecurity einher.
Gleichzeitig stehen Entwicklungsorganisationen unter wachsendem Zeitdruck:
Während die Entwicklungszyklen von Steuergeräten traditionell länger sind als
bei klassischen Softwareanwendungen, verlangt der Markt nach kürzeren
Release-Zeiten – bei zugleich weiter steigenden Sicherheitsanforderungen.
Hinzu kommt, dass sich Fehler umso kostspieliger auswirken,
je später sie im Produktentwicklungszyklus erkannt werden. Um Risiken
frühzeitig zu minimieren und die Softwarequalität abzusichern, setzen
Hersteller daher auf verbindliche Entwicklungsrichtlinien,
sicherheitsorientierte Toolchains sowie statische und dynamische
Analyseverfahren, ergänzt durch umfangreiche Prüf- und Freigabeprozesse. Diese
Maßnahmen erhöhen jedoch nicht nur die Robustheit der Software, sondern auch
die Komplexität und den Aufwand der Entwicklung. In diesem Spannungsfeld rückt
die Programmiersprache Rust zunehmend in den Fokus.
Rust ist eine Multiparadigmen-Programmiersprache, für die
Sicherheit, Gleichzeitigkeit und Performance vorrangig sind. Entstanden ist sie
nicht in einem Forschungslabor, sondern aus einem konkreten Praxisproblem. Der
kanadische Softwareentwickler Graydon Hoare arbeitete Mitte der 2000er-Jahre
mit C++ an komplexen Systemen und stieß dabei immer wieder auf bekannte
Schwachstellen: fehleranfällige Speicherzugriffe, schwer kontrollierbare
Nebenwirkungen und Sicherheitsrisiken, die sich häufig erst spät im Entwicklungsprozess
zeigten. 2006 begann Hoare daher in seiner Freizeit mit der Entwicklung einer
eigenen Programmiersprache, die die Leistungsfähigkeit klassischer
Systemsprachen mit einem höheren Maß an Sicherheit verbinden sollte.
2009 wurde Mozilla auf das Projekt aufmerksam und stellte
Ressourcen für die Weiterentwicklung bereit. Aus dem ursprünglich privaten
Projekt entwickelte sich so schrittweise eine industrielle Programmiersprache
mit klarem Fokus auf Zuverlässigkeit und Skalierbarkeit. Heute wird Rust von
der unabhängigen Rust Foundation getragen und von einer internationalen
Open-Source-Community kontinuierlich weiterentwickelt. Die Sprache hat sich
insbesondere in Bereichen etabliert, in denen klassische C- oder C++-Ansätze an
ihre Grenzen stoßen, etwa bei sicherheitskritischer Systemsoftware oder
Embedded-Anwendungen. Ihre Entstehungsgeschichte prägt Rust bis heute: Die
Sprache zielt darauf ab, Fehler möglichst frühzeitig im Entwicklungsprozess zu
vermeiden, statt sie erst im Betrieb zu korrigieren. Damit schließt sich der
Kreis zur aktuellen Entwicklung softwaredefinierter Fahrzeuge.
Anzeige
Welche Vorteile bietet Rust in bestehenden Automotive-Projekten?
Aus Sicht von Stefan Nürnberger, Co-Founder und CEO von
Veecle, stellt Rust einen Quantensprung dar. Bei der Gründung des Startups
entschied man sich bewusst, das Risiko einzugehen und auf die vergleichsweise
junge Sprache zu setzen. Man habe Pionierarbeit geleistet, um Rust im
sicherheitskritischen Umfeld des Fahrzeugs robust nutzbar zu machen, sagt
Nürnberger. „Die Vorreiter waren Volvo und Hyundai, Kia, Genesis und Renault –
sie haben als interne Vorgabe eingeführt, dass Neues bevorzugt in Rust entwickelt
werden soll.“
Zu den zentralen Vorteilen zählt für Nürnberger die deutlich
geringere Fehleranfälligkeit. Der Zeitgewinn durch kürzere Fehlersuche liege
bei etwa dem Faktor zwei. Zudem lasse sich sicherstellen, dass Fahrzeuge
ausschließlich vom Hersteller freigegebene Over-the-Air-Updates erhalten; das
Risiko von Hintertüren nehme deutlich ab. Darüber hinaus ermögliche Rust eine
stärkere Abstraktion von Hardware und Betriebssystem. Bereits entwickelter Code
könne so später auch auf noch unbekannter Hardware weiterverwendet werden – ein
Vorteil mit Blick auf die stark verkürzten Entwicklungszyklen, insbesondere
chinesischer OEMs.
Auch bei Ampere wurde Rust gezielt eingesetzt, um neue Freiheitsgrade in der Softwareentwicklung zu gewinnen. Die SDV-Plattform entstand in Partnerschaft mit Google und Qualcomm. „Wir konnten einige Neuentwicklungen von Grund auf beginnen, in Form eines Frameworks, das als Rückgrat all unserer Apps dienen sollte“, berichtet Ameye. Mehr als 200 Entwickler wurden dafür auf Rust geschult. Die klare Entscheidung für die neue Programmiersprache habe dazu beigetragen, die Markteinführungszeit schrittweise zu verkürzen und zugleich die Zufriedenheit der Entwickler zu erhöhen. „Normalerweise muss man sich zwischen Sicherheit und Zuverlässigkeit, Performance oder Benutzerfreundlichkeit entscheiden. Mit Rust bekommt man alle drei“, lobt auch Ameye.
Konkret setzt Ampere Rust vor allem dort ein, wo hoher
Performancebedarf oder besonderer Entwicklungsspielraum besteht oder
Sicherheitsaspekte eine zentrale Rolle spielen. Dazu zählen kryptographische
Operationen, internet-gerichteter Code sowie kritischer Firmware-Update-Code.
Rust wurde dabei gezielt mit bestehenden C- und C++-Codebasen sowie
modellbasiert generiertem Code kombiniert. „So konnten wir die Vorteile der
neuen Technologie nutzen, während bewährter, qualifizierter Code weiterhin
funktionierte“, erklärt Ameye. Partner berichteten im Zuge dessen von bis zu 20
Prozent geringeren Kosten aufgrund gesteigerter Produktivität. Zudem ließen
sich rund 70 Prozent typischer Fehler eliminieren, wodurch mehr Zeit für die
gezielte Absicherung der verbleibenden Risiken blieb.
Automotive Software Strategies 2026:
Wenn Sie sich für die neuesten Entwicklungen rund um Software-defined Vehicles und deren Architekturen interessieren, empfehlen wir Ihnen eine Teilnahme an unserer Fachkonferenz „Automotive Software Strategies 2026".
Die Teilnehmenden haben die Möglichkeit, sich intensiv über aktuelle Trends und Strategien auszutauschen – mit besonderem Fokus auf China als Leitmarkt für softwaredefinierte Fahrzeuge. Darüber hinaus gehen wir der Frage nach, wie sich Software als tragfähiges Geschäftsmodell etablieren lässt, und zeigen auf, wie künstliche Intelligenz dabei helfen kann, Softwareentwicklungsprozesse effizienter zu gestalten. Nutzen Sie diese Gelegenheit, sich mit Fachkolleginnen und -kollegen zu vernetzen und wertvolle Impulse zu gewinnen, die Ihr Unternehmen in einer sich rasant wandelnden Branche voranbringen.
Wie kann GenAI die Einführung von Rust unterstützen?
Die strategische Entscheidung für die neue Programmiersprache müsse auf Managementebene getroffen werden, meint Stefan Nürnberger. Ein Roadblock sei derzeit, dass noch nicht so viele Entwickler die Sprache beherrschen. Hier setzten aufgrund des Innovationsdrucks viele OEMs derzeit auf die Zusammenarbeit mit Startups. Doch mit der Nutzung von Large Language Models könnte sich diese Lücke bald schneller schließen. Dafür reichert das Startup seinen Stack mit fahrzeugspezifischem Kontext an, um die Ergebnisse der KI zu verbessern.
Anzeige
„Meiner Meinung nach ist es richtig, jetzt viel Vorarbeit zu leisten, damit die Entwickler leichter Software-definierte Funktionen schaffen können“, stellt der CEO fest. Als Beispiel aus der Praxis nennt Nürnberger eine Funktion, mit der ein Kunde für einen Wischblätterwechsel sehr einfach seinen Scheibenwischer per App in die Service-Position fahren kann. „Auf Basis des Sprachmodells kann funktionierender Code dafür innerhalb von 10 Minuten erzeugt werden. Bisher würde man mit einem 20-köpfigen Team neun Monate entwickeln, bis man die Perfektion erreicht hat“, so Nürnberger.
Wo hat Rust noch Probleme?
Trotz der Fortschritte bestehen weiterhin Herausforderungen.
Ameye verweist unter anderem auf das Fehlen eines stabilen Application Binary
Interface (ABI), wodurch häufig weiterhin C-Schnittstellen notwendig sind. Für
kommende Fahrzeuggenerationen plant Ampere den Einsatz von Rust in
sicherheitskritischen Kontexten bis ASIL B, etwa zur Unterstützung
fortgeschrittener Fahrerassistenzfunktionen. In diesen Bereichen ist
hochkomplexer Code erforderlich, etwa zur Fusion von Kamera- und Radardaten,
der zugleich funktional sicher sein muss.
Anzeige
„In diesem Bereich muss die Branche noch viel Arbeit
leisten, um die ISO-26262-Prozesse an die Rust-Entwicklung anzupassen“, sagt
Ameye. Auch wenn es für ASIL B keine grundsätzlichen technischen Hürden gebe,
müssten Programmierleitlinien, Tool-Nutzung und Entwicklungspraktiken
weiterentwickelt werden. Für ASIL D seien perspektivisch weiterhin technische
Einschränkungen zu erwarten. Ameye empfiehlt, die Arbeit des Safety-Critical
Consortium der Rust Foundation aufmerksam zu verfolgen.
Zudem müsse Rust stärker in die Lieferketten integriert
werden. Viele Komponenten von Zulieferern seien hochkritisch für die Sicherheit
der Plattformen. Gerade in Bereichen wie SoC-Firmware, Hypervisor-Treibern oder
Konnektivitäts-Stacks könne Rust jedoch dazu beitragen, die Systemkomplexität
zu reduzieren und die Resilienz gegenüber Cyberangriffen zu erhöhen.
Wo Rust heute sinnvoll einsetzbar
ist – und wo nicht
Anzeige
Die bisherigen Erfahrungen aus der Industrie zeigen, dass
Rust vor allem dort seine Stärken ausspielt, wo neue Softwarekomponenten
entstehen oder bestehende Architekturen gezielt erweitert werden. Ameye
beschreibt, dass Ampere Rust bewusst in neuen Modulen einsetzt, insbesondere
dort, wo neue Sicherheitsanforderungen adressiert werden oder zusätzlicher
Entwicklungsspielraum benötigt wird. Daraus lässt sich ableiten, dass Rust
insbesondere für Neuentwicklungen und Plattformansätze geeignet ist.
Gleichzeitig ist Rust nicht als vollständiger Ersatz
bestehender Softwarelandschaften gedacht. Qualifizierter Legacy-Code bleibt ein
zentraler Bestandteil der Fahrzeugentwicklung und wird gezielt ergänzt. Auch
Nürnberger verweist auf diese Logik, wenn er beschreibt, dass OEMs intern
vorgeben, neue Funktionen bevorzugt in Rust zu entwickeln. Rust ist damit kein
Werkzeug zur nachträglichen Modernisierung bestehender Architekturen, sondern
ein strategisches Instrument für kontrollierte Weiterentwicklung.
Was Sie beim Einstieg in Rust beachten sollten
Die Einführung von Rust ist weniger eine technische
Detailentscheidung als eine strategische Weichenstellung. Sie erfordert klare
Priorisierung, langfristige Planung und Rückendeckung durch das Management.
Neue Denk- und Arbeitsweisen lassen sich nicht isoliert einführen, sondern
müssen in bestehende Entwicklungsprozesse integriert werden. Das Beispiel Ampere zeigt zudem, dass Kompetenzaufbau ein
zentraler Erfolgsfaktor ist. Mehr als 200 Entwickler wurden gezielt geschult –
ein Hinweis darauf, dass Produktivitätsgewinne das Ergebnis bewusster
Investitionen sind und nicht sofort eintreten. Ergänzend setzen viele OEMs auf
Kooperationen mit spezialisierten Partnern, um fehlende Erfahrung
auszugleichen.
Entscheidend ist dabei ein schrittweises Vorgehen. Rust wird
nicht flächendeckend eingeführt, sondern dort, wo neue Funktionen entstehen und
bestehende Strukturen sinnvoll ergänzt werden können. Der Einstieg gelingt
somit dort, wo Organisation, Prozesse und Technologie gemeinsam
weiterentwickelt werden – und wo Rust als strategisches Werkzeug verstanden
wird, nicht als schneller Ersatz bestehender Lösungen.