Les langages Ada, Spark et Rust de plus en plus utilisés pour garantir la sécurité mémoire et la réduction des coûts, selon VDC

Etude VDC sur les langages ADA, Spark et Rust

Une enquête menée par la société d’analyse de marché VDC auprès de plus de 500 décideurs du domaine des logiciels embarqués - dans les secteurs de l'automobile, de l'aérospatiale, de la défense, de l'énergie, de l'industrie et des dispositifs médicaux - intitulé “Memory-Safe Languages Offer Protection for Devices and TCO” indique que les langages de programmation Ada, Spark (*) et Rust apparaissent comme des langages de référence en matière de sûreté de fonctionnement et de sécurité.

Le rapport met notamment en avant que 85 % des ingénieurs estime que le choix du langage de programmation a un impact direct sur la sûreté et la sécurité du code produit. Les trois langages Ada, Spark et Rust, parmi les 26 langages évalués, contribuent à ce niveau, selon les répondants, à réduire les vulnérabilités critiques, à simplifier la vérification et à atténuer les risques à long terme pour les entreprises.

Pour rappel, ces langages ont été conçus avec des systèmes de typage robuste et une gestion contrôlée de la mémoire, permettant de réduire considérablement les risques liés aux problèmes de mémoire courants. Or, ces risques font désormais évoluer aussi bien les pratiques d'ingénierie que les politiques publiques, note VDC, car la complexité et l'interconnexion croissantes des systèmes accélèrent ces changements.

Les conséquences potentielles d'erreurs telles que les dépassements de tampon (buffer overflows), les pointeurs invalides et les fuites de données ont d’ailleurs incité le Bureau du directeur national de la cybernétique (Office of the National Cyber Director) aux États-Unis à recommander une adoption plus large de langages garantissant la sécurité mémoire, indique VDC dans son rapport.

 

Par ailleurs, les nouvelles exigences et réglementations, comme le Cyber Resilience Act (CRA) en Europe et les initiatives de “sécurité dès la conception” (Secure by Design) des organimses américains CISA et NSA, favorisent également l'adoption de ces langages.

De manière plus générale, et dans le détail, le rapport indiquer que l'utilisation du langage Ada qui a fait ses preuves dans les systèmes à haute intégrité au fil des décennies, progresse régulièrement.

Parallèlement, en ce qui concerne le langage Rust, le rapport prévoit une augmentation significative de son adoption passant de 6,8 % des projets actuels à 14,0 % d'ici trois ans. Selon l’enquête il est souvent utilisé pour remplacer ou compléter des alternatives ne garantissant pas la sécurité mémoire, telles que le C ou le C++.

Au-delà, le rapport montre aussi que les langages Ada, Spark et Rust renforcent la fiabilité d’un code généré par l'IA en contribuent à réduire les défauts de ce type de génération nouvelle. La majorité des ingénieurs interrogés prévoient à ce niveau une augmentation du volume de code généré par l'IA dans leurs prochains projets, tout en exprimant des inquiétudes quant à sa sûreté, sa conformité et sa sécurité.

 

Le rapport désigne les langages garantissant la sécurité mémoire - en particulier la vérification formelle offerte par Spark - comme des moyens d'avancer la vérification dans le cycle de développement et de renforcer la confiance dans le code produit avec l'aide de l'IA.

Ainsi, dans l’enquête, les utilisateurs de ces langages témoignent d'une plus grande confiance envers le code généré par l'IA que ceux utilisant le C ou le C++.

Enfin, les développeurs interrogés estiment que l'utilisation de langages qui garantissant la sécurité mémoire favorise le retour sur investissement, la réduction des coûts de développement allant jusqu'à 60 % dans certains cas, la réduction des délais de mise sur le marché - les utilisateurs d'Ada ont quatre fois plus de chances de terminer leurs projets en avance sur le calendrier que ceux qui s'appuient sur le C ou le C++ (69 % contre 15 %).

Spark ayant obtenu les meilleurs résultats de l'enquête, avec 80 % des projets terminés en avance.

De plus, ces langages apportent, selon les répondants, une mise en avant de l’innovation, avec 1,7 fois plus d'efforts de développement vis-à-vis des domaines créateurs de valeur tels que l'analyse de données et l'IA.

Le rapport complet, “Memory-Safe Languages Offer Protection for Devices and TCO” peut être téléchargé gratuitement ici.

(*) Spark est un sous-ensemble du langage Ada analysable formellement, permettant de prouver l'absence de certaines erreurs d'exécution.