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.
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...
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.
