Langage Rust : AdaCore s'associe à Ferrous Systems pour développer une chaîne d'outils certifiée pour applications critiques

AdaCore Ferrous Systems Rust

L’éditeur d’outils de développement logiciel pour applications critiques AdaCore a décidé de travailler avec la jeune société allemande Ferrous Systems, créée en 2018 et spécialisée dans le langage de programmation Rust. Objectif affiché : poursuivre le développement de la chaîne d'outils Ferrocene Rust de Ferrous Systems qui pourra à terme prendre en charge des applications embarquées critiques en matière de sûreté de fonctionnement et qui sera qualifiée selon les normes de sûreté logicielle de l'industrie. Par voie de conséquence, il s'agit donc de faire progresser la capacité commerciale du langage de programmation Rust à travers la fourniture d’outils et de services professionnels.

Selon AdaCore, l'intérêt et l'utilisation de Rust dans les applications industrielles sont en pleine croissance. Mais pour les marchés dont les exigences sont critiques en matière de sûreté de fonctionnement - automobile, aérospatial, Défense -, il n'existe pas aujourd’hui de chaîne d'outils Rust certifiée. Le partenariat sur Ferrocene répondra aux besoins de qualification des utilisateurs qui souhaitent intégrer cette technologie émergente dans leurs applications critiques.

Rust est un langage de développement initié par les ingénieurs de Mozilla dès 2006, dont la première version réellement utilisable, avec un compilateur opérationnel, a été mise à disposition de la communauté en 2012, et dont la version 1.0 a été publiée en 2015. Rust se veut une alternative performante aux langages de programmation classiques comme le C et le C++ en évitant notamment les problèmes de sécurité mémoire qui affligent ces langages, sans recourir à la complexité de Java (pas de mécanismes de type ramasse-miettes dans Rust). Rust est, selon ses promoteurs, idéal pour fonctionner sur du matériel à faible empreinte mémoire, peu gourmand en énergie et peu coûteux. Il a été spécialement conçu dès le départ en mettant l'accent sur la sécurité mémoire et la sécurité des threads, par le biais d'un typage fort.

Pour ce langage, il existe aujourd’hui des outils de développement, comme celui de Ferrous Systems, ainsi qu’un compilateur capable de mettre en évidence des problèmes potentiels dès le début du processus de développement (en particulier les problèmes d’allocation mémoire) sans entraîner de temps supplémentaire d’exécution, et ce grâce à des technologies de vérification formelle intégrées dans le processus de compilation.

« Nous pensons qu'il existe un besoin pour les langages Ada et Rust dans les domaines de la sécurité et de la sûreté, précise Quentin Ochem, responsable de la gestion des produits et du développement commercial chez AdaCore. Cet effort complètera notre engagement envers Ada tout en offrant la possibilité d'étendre notre expertise en matière de chaînes d'outils certifiées pour la sûreté à la communauté Rust, en plein développement actuellement. »

Un exemple de la percée du langage Rust dans le monde des applications professionnelles a été récemment donné par la société britannique 42 Technology, avec une application logicielle écrite en Rust qui a été implantée sur une puce de connexion LTE-M/NB-IoT de Nordic Semiconductor (le boîtier-système SiP nRF9160 en l'occurrence).