Afin, selon ses dires, de renforcer la productivité du développement et la cyberrésilience des logiciels automobiles, la société Elektrobit, filiale à 100% de l’équipementier Continental, annonce la prise en charge du langage Rust par son logiciel conforme au standard Autosar Classic EB tresos AutoCore. L’idée ici est d’accélérer l’évaluation de Rust pour les projets de calculateurs (ECU) automobiles, en s’appuyant sur les nouvelles fonctionnalités produit proposées par l’éditeur.
Alors que le langage Rust est de plus en plus évalué, testé et utilisé par les développeurs, Elektrobit confirme donc que l’environnement EB tresos est prêt à intégrer des composants logiciels Autosar applicatifs écrits en Rust aux côtés de leurs homologues en C. Parallèlement le système de build permet d’ores et déjà de construire des applications en fonction du langage utilisé afin que les développeurs puissent commencer à travailler efficacement, avec notamment la prise en charge de Clippy, l’outil d’analyse de code statique de Rust.
Pour rappel, Rust est un langage de programmation qui intègre des contrôles de sécurité mémoire au moment de la compilation, agissant ainsi comme une protection contre les vulnérabilités courantes présentes dans les systèmes écrits en C/C++, telles que les dépassements de tampon et l'arithmétique des pointeurs. Ces contrôles de sécurité mémoire procurent des mesures de prévention qui réduisent le besoin de tests d'exécution et de débogage exhaustifs.
La montée en puissance du langage Rust intervient au moment où la cybersécurité devient un enjeu primordial. Les agences gouvernementales sont en effet de plus en plus nombreuses à demander à l’industrie de cesser d’utiliser des « langages de programmation dans lesquelles la mémoire constitue un facteur d'insécurité ». Des études ont effectivement montré qu’environ 70 % des vulnérabilités sont dues à des « problèmes de sécurisation mémoire ». Ce problème est d’autant plus préoccupant que s’ouvre l’ère de la Software-Defined Mobility, dans laquelle les voitures intègrent davantage de fonctions logicielles et où l’utilisation de services Internet en ligne devient la norme.
Dans ce cadre, pouvoir associer du code C existant à du nouveau code Rust est idéal pour étendre les bases de code existantes. « Lorsqu'elles utilisent Rust, nos équipes observent un gain de productivité significatif et voient la qualité augmenter grâce à l’approche dite correctness-by-design adoptée par Rust, lequel s’appuie sur un demi-siècle d’enseignements sur le langage de programmation C, qui reste populaire dans le domaine de la sûreté de fonctionnement », indique Florian Bartels, expert senior chez Elektrobit.
Pour autoriser une programmation à sécurisation mémoire d’un logiciel Autosar Classic sur l’environnement EB tresos, Elektrobit utilise Ferrocene, la chaîne d’outils de compilation Rust entièrement open source et certifiée ISO 26262 de Ferrous Systems, un fournisseur de chaînes d'outils certifiées vis-à-vis de la sûreté de fonctionnement auprès des utilisateurs de Rust. « Ferrocene tire parti de la capacité de Rust à éliminer des classes entières de bogues, garantissant ainsi le respect des normes de sûreté de fonctionnement tout en permettant aux développeurs de se concentrer sur les fonctionnalités, précise Florian Gilcher, directeur général et fondateur de Ferrous Systems. Cette solution marque une étape importante en matière de programmation qui conduira à des véhicules plus sûrs et plus fiables. »
La solution, qui comprend la génération automatique de code ainsi que la compilation et l’analyse statique du code Rust, simplifie la gestion des erreurs et assure une prise en charge des systèmes d’exploitation et des intergiciels utilisés dans le secteur automobile et au-delà. Selon Elektrobit, l’environnement EB tresos AutoCore assure déjà la prise en charge du code Rust natif, pour une intégration sans couture et une création de code plus résistante aux fautes.
Ainsi, le compilateur Rust peut détecter les problèmes au moment de la compilation et limiter la quantité de code qui ne peut pas être vérifiée automatiquement, ce qui réduit efficacement les coûts de construction du code, les délais de mise sur le marché et la probabilité d’introduction de vulnérabilités, précise Elektrobit.
A noter que, dans le domaine de l’embarqué, plusieurs fournisseurs d’outils se sont déjà engagés derrière le langage Rust à l’instar des sociétés AdaCore, Etas, HighTec, Lauterbach, Lynx Software, Synopsys, Vector et TrustInSoft.
Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée au marché automobile : Embedded-Automotive