L'environnement de développement d'AdaCore s’adapte aux logiciels écrits en langage Rust

AdaCore GNAT for Rust

AdaCore, éditeur franco-américain d’outils de développement et de vérification logiciels pour applications critiques, propose dés maintenant aux utilisateurs de ces technologies la disponibilité en accès anticipé de l’environnement GNAT Pro pour le langage Rust. Ainsi, les utilisateurs actuels de GNAT Pro pourront développer des applications embarquées certifiées en matière de sûreté et de sécurité à l'aide du langage Rust tout en bénéficiant de la stabilité du support d'AdaCore.

Pour rappel, au fil des ans, AdaCore a élargi son spectre au-delà du langage Ada, son socle de base, vers le sous-ensemble d’Ada nommé Spark, formellement vérifiable, ainsi que vers les langages C et C++ et vers les modèles Simulink et Stateflow de MathWorks.

Parallèlement, AdaCore collabore depuis 2022 avec la société allemande Ferrous Systems spécialisée dans le langage Rust pour partager son expertise dans les chaînes d'outils certifiées de sécurité avec la communauté Rust. Un partenariat qui vise à intégrer Rust dans des environnements destinés à la programmation de code de niveau Asil-D, en particulier la chaîne d'outils Ferrocene de Ferrous, et donc désormais l’environnement GNAT Pro.

L’intérêt de l’utilisation du langage Rust est aujourd’hui avéré dans les applications critiques industrielles. Mais, selon AdaCore, pour les marchés dont les exigences sont critiques en matière de sûreté de fonctionnement (automobile, aérospatial, défense), il n'existait pas de chaîne d'outils Rust certifiable. Un obstacle levé, toujours selon AdaCore, par l’arrivée de GNAT Pro pour Rust qui apporte un environnement d'exécution certifiable ainsi que des garanties commerciales sur la chaîne d'approvisionnement logicielle et la disponibilité d'un support adapté aux besoins de l'industrie critique en matière de sûreté et de sécurité pour ce langage.

GNAT Pro for Rust offre également une prise en charge étendue pour une large gamme de plates-formes embarquées, répondant aux besoins spécifiques des applications critiques en matière de sécurité et de sûreté. Quant au support du langage Rust lui-même, il est proposé au travers de GNAT Pro Assurance qui fournit un support à long terme via des branches soutenues pour la chaîne d'outils complète.

« Les utilisateurs de nos technologies ont exprimé le désir d'utiliser Rust mais n'ont pas pu le faire en raison des limites des chaînes d'outils existantes pour ce langage, note Quentin Ochem, directeur produits chez AdaCore. C'est particulièrement sensible dans le contexte de contraintes liées à la sécurité et à la certification. GNAT Pro a pour ambition de répondre à ces préoccupations en supprimant les principaux obstacles qui ont entravé l'adoption de Rust dans ces domaines d’application. »

Rust est un langage de développement initié par les ingénieurs de Mozilla dès 2006 dont la première version utilisable avec un compilateur opérationnel a été mise à disposition de la communauté en 2012. Rust se présente comme plus performant que les 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. Et ce sans recourir à la complexité de Java (pas de mécanismes de type ramasse-miettes dans Rust). Selon ses promoteurs, le langage Rust est 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.