IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Submergé par les bugs dans ses applications, la solution de Microsoft c'est de supprimer tout le code C et C++ de ses référentiels d'ici 2030, pour le remplacer par Rust

Le , par Jade Emy

0PARTAGES

3  0 
Microsoft prévoit d'éliminer tout le code C et C++ de ses référentiels d'ici 2030, en le remplaçant par Rust pour améliorer la sécurité et la sûreté de la mémoire. Dirigée par Galen Hunt, cette initiative s'appuie sur l'IA pour remanier les codes existants, dans un contexte de tendances et de défis industriels tels que la pénurie de talents. Cette initiative audacieuse pourrait remodeler les pratiques d'ingénierie logicielle.

En novembre 2025, Microsoft a confirmé plusieurs bogues dans Windows 11 remontant à juillet 2025. Ces bugs auraient été causés par la mise à jour 24H2 (KB5062553), qui a affecté les composants système reposant sur XAML, un langage de balisage utilisé dans Windows pour les composants d'interface utilisateur. Bien que ces problèmes apparaissent principalement lors de la mise en service d'appareils ou du démarrage d'images non persistantes, affectant principalement les déploiements en entreprise et dans l'éducation, il est inquiétant que Microsoft ait mis autant de temps à reconnaître la situation.

Pour éviter ce genre de situation, Google a adopté Rust pour des raisons de sécurité et a constaté une réduction de 1 000 fois des vulnérabilités liées à la sécurité de la mémoire, un taux de rollback 4 fois plus faible et une réduction de 25 % du temps consacré à la révision du code par rapport au C et au C++. Google a alors partagé comment une stratégie de sécurité mémoire axée sur la prévention des vulnérabilités ne se contente pas de corriger les problèmes, mais aide également à aller plus vite. Selon Google, les données de 2025 continuent de valider cette approche, les vulnérabilités liées à la sécurité mémoire passant pour la première fois sous la barre des 20 % du total des vulnérabilités.

Dans une démarche qui pourrait remodeler les fondements de l'ingénierie logicielle, Microsoft a annoncé une initiative ambitieuse visant à éliminer progressivement tous les codes C et C++ de ses vastes référentiels d'ici à 2030, pour les remplacer par Rust. Cette déclaration, menée par Galen Hunt, ingénieur distingué de Microsoft, marque un changement profond en faveur de langages de programmation à mémoire sécurisée, dans un contexte d'inquiétudes croissantes concernant les failles de sécurité. La vision de Hunt, exposée dans un article publié sur LinkedIn, met l'accent sur l'utilisation de l'intelligence artificielle pour le remaniement du code à grande échelle, dans le but d'éliminer le code hérité qui a longtemps affecté les systèmes par des bogues et des exploits.

J'ai un poste à pourvoir dans mon équipe pour un Ingénieur logiciel principal IC5. Le poste est à pourvoir en personne à Redmond.

Mon objectif est d'éliminer toutes les lignes de C et C++ de Microsoft d'ici 2030. Notre stratégie consiste à combiner l'IA *et* les algorithmes pour réécrire les plus grandes bases de code de Microsoft. Notre étoile polaire est « 1 ingénieur, 1 mois, 1 million de lignes de code ». Pour accomplir cette tâche inimaginable, nous avons construit une puissante infrastructure de traitement du code. Notre infrastructure algorithmique crée un graphe évolutif sur le code source à l'échelle. Notre infrastructure de traitement de l'IA nous permet ensuite d'appliquer des agents d'IA, guidés par des algorithmes, pour apporter des modifications au code à l'échelle. Le cœur de cette infrastructure fonctionne déjà à grande échelle sur des problèmes tels que la compréhension du code.

L'objectif de ce poste d'ingénieur logiciel principal est de nous aider à faire évoluer et à augmenter notre infrastructure pour permettre de traduire les plus grands systèmes C et C++ de Microsoft en Rust. Une condition essentielle pour ce poste est d'avoir de l'expérience dans la construction de code de niveau système de qualité production en Rust - de préférence au moins 3 ans d'expérience dans l'écriture de code de niveau système en Rust. Une expérience dans la mise en œuvre de compilateurs, de bases de données ou de systèmes d'exploitation est vivement souhaitée. Bien qu'une expérience dans l'implémentation de compilateurs ne soit pas nécessaire pour postuler, la volonté d'acquérir cette expérience au sein de notre équipe est requise.

Notre équipe est animée par un état d'esprit de croissance. Nous sommes une équipe diversifiée avec un large éventail de compétences et de perspectives. Nous prenons des risques audacieux. Nous travaillons et jouons bien avec les autres. Nous aimons apporter de la valeur aux clients internes et externes. Nous avons appris que notre diversité et notre état d'esprit de croissance sont essentiels pour réussir dans le monde en évolution rapide des outils basés sur l'IA.

Notre équipe fait partie du groupe Future of Scalable Software Engineering de l'organisation EngHorizons au sein de Microsoft CoreAI. Notre mission est de développer des capacités permettant à Microsoft et à ses clients d'éliminer la dette technique à grande échelle. Nous mettons au point de nouveaux outils et de nouvelles techniques avec des clients et des partenaires internes, puis nous travaillons avec d'autres groupes de produits pour déployer ces capacités à l'échelle de Microsoft et de l'industrie.

Cette initiative intervient à un moment où les cyberattaques sont de plus en plus sophistiquées et où des erreurs de mémoire en C et C++ ont été impliquées dans de nombreuses brèches très médiatisées. Le langage Rust, développé par Mozilla et désormais géré par la Fondation Rust, offre des protections intégrées contre les pièges courants tels que les débordements de mémoire tampon et les déréférences de pointeur nul. L'engagement de Microsoft n'est pas seulement rhétorique ; il est soutenu par des efforts continus, notamment l'intégration de Rust dans les composants Windows, comme le rapportent diverses analyses de l'industrie.

Cette transition ne part pas de zéro. Microsoft expérimente Rust depuis des années, l'incorporant dans les services Azure et même dans les bibliothèques Windows de base. Les ingénieurs de l'entreprise ont publiquement discuté des avantages, tels que l'amélioration de la fiabilité et de la productivité des développeurs, qui s'alignent sur les tendances plus générales de l'industrie en faveur de pratiques de codage plus sûres.

L'impératif de sécurité, moteur du changement

La décision de Microsoft est motivée par l'importance accordée à la sécurité. Les langages C et C++, bien que puissants pour la programmation de systèmes de bas niveau, sont connus pour leur manque de sécurité inhérente à la mémoire, ce qui entraîne des vulnérabilités que les pirates informatiques exploitent. Selon un rapport, Microsoft considère cette refonte comme une étape essentielle dans la modernisation de ses bases de code, qui couvrent tous les domaines, des systèmes d'exploitation à l'infrastructure en nuage.

Les experts du secteur se font l'écho de ce sentiment. Un article comparatif souligne les avantages de Rust en termes de performances et d'outils, notant que si le C++ excelle en vitesse brute, le modèle de propriété de Rust permet d'éviter des classes entières d'erreurs sans sacrifier l'efficacité. Cela le rend particulièrement intéressant pour des entreprises comme Microsoft, où les temps d'arrêt ou les brèches peuvent coûter des milliards.

En outre, les messages postés sur les réseaux sociaux reflètent un mélange d'enthousiasme et de scepticisme parmi les développeurs. Nombreux sont ceux qui saluent le caractère avant-gardiste de la démarche, un utilisateur soulignant que Microsoft a formé des équipes dédiées à Rust dès 2024, ce qui témoigne d'une stratégie à long terme. D'autres, en revanche, s'interrogent sur la faisabilité de la réécriture de millions de lignes de code, faisant le parallèle avec les migrations antérieures qui ont échoué dans le secteur technologique.

L'IA, le grand facilitateur

L'utilisation d'outils assistés par l'IA pour le remaniement est au cœur du plan de Hunt. Microsoft a l'intention d'exploiter des modèles d'apprentissage automatique, éventuellement en s'appuyant sur GitHub Copilot, pour automatiser la traduction de C++ vers Rust. Il ne s'agit pas d'une simple spéculation ; les aperçus des outils d'édition C++ pour Copilot montrent l'investissement de Microsoft dans l'IA qui comprend et transforme le code hérité.

L'ampleur est stupéfiante. La base de code de Microsoft comprend des éléments fondamentaux de Windows, Office et Azure, dont une grande partie a été écrite en C++ pendant des décennies. L'IA pourrait accélérer ce processus en identifiant des modèles, en suggérant des équivalents sûrs et même en générant des tests pour vérifier l'exactitude du code. Toutefois, il reste des défis à relever, notamment pour garantir l'équivalence sémantique dans des systèmes complexes où des comportements subtils peuvent être interrompus lors de la conversion.

Des discussions sur les réseaux sociaux se penchent sur ces obstacles. Les commentateurs se demandent si l'IA peut gérer les nuances de l'arithmétique des pointeurs ou les modèles de concurrence qui diffèrent d'un langage à l'autre. Cependant, les optimistes soulignent que des projets pilotes réussis, comme l'adoption de Rust dans le noyau Linux, prouvent que de telles transitions sont viables.

Contexte historique et précédents

Le flirt de Microsoft avec Rust remonte au moins à 2019, lorsque des rapports ont fait surface sur l'exploration d'alternatives à C++ pour des raisons de sécurité. Une discussion de l'époque remet en question l'économie d'un tel changement, arguant qu'il n'est pas simple de tout réécrire. En effet, les équipes inexpérimentées sous-estiment souvent les coûts, mais les ressources de Microsoft lui confèrent une position unique pour réussir.

Plus récemment, en 2023, Microsoft a commencé à réécrire les principales bibliothèques Windows en Rust. Cette initiative s'appuie sur des expériences antérieures, telles que la réécriture des bibliothèques Windows en Rust. Cette initiative s'appuie sur des expériences antérieures, telles que l'utilisation de Rust pour les pilotes de périphériques afin de...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !