Anthropic a récemment démontré que son modèle de langage Claude peut non seulement écrire du code, mais aussi produire des preuves formelles attestant de sa correction. En partenariat avec la société de vérification Theorem, l’équipe a appliqué Claude à 123 bibliothèques open‑source issues du programme OSS‑Fuzz de Google, générant près de 180 millions de lignes de preuves mathématiques en quelques semaines seulement.
Une approche automatisée de la vérification formelle
Contrairement aux méthodes traditionnelles, où des spécialistes passent des années à formaliser et à prouver le bon fonctionnement d’un programme, Claude a traduit les tests de plantage en problèmes mathématiques, analysé le code machine compilé et produit des scripts de preuve. Ces scripts sont ensuite passés à Rocq, un vérificateur de preuves autonome, qui confirme leur validité sans intervention humaine majeure. Les chercheurs qualifient ce processus de « génération de preuves entièrement autonome », même si les fondations logiques et les outils proviennent des travaux de Theorem.
Des résultats concrets et des bugs inattendus
Au cours de la génération de preuves, Claude a identifié plusieurs centaines de bugs que les cycles de test classiques n’avaient pas détectés. Certains de ces défauts n’apparaissent que sous des conditions très spécifiques – par exemple, avec des fichiers d’entrée exceptionnellement volumineux ou après une séquence d’accès particulière. Dans le cadre d’une vérification d’un lecteur PDF largement utilisé, l’équipe a découvert autant de failles de sécurité en une semaine que ce qui est habituellement signalé sur l’ensemble d’une année. Un autre exemple montre Claude repérant une erreur logique restée invisible pendant plus de dix ans dans une bibliothèque tierce.
Limites de la vérification formelle automatisée
Anthropic précise que le terme « formellement vérifié » ne signifie pas « exempt d’erreur ». Les preuves générées ne sont valides que dans un cadre très restreint : architecture processeur spécifique, exécution monothread, et entrées limitées à 64 Mo. En pratique, les bibliothèques ciblées sont souvent déployées sur des architectures variées et dans des environnements multithread, ce qui réduit la portée immédiate des garanties offertes.
Le coût computationnel est également non négligeable. Chaque preuve peut mobiliser plusieurs centaines de millions de TokenUnité de contenu traitée par un modèle de langage, pouvant représenter un mot, une partie de mot ou un caractère., et bien que les chercheurs n’aient pas publié le budget total, ils soulignent que les modèles plus récents, comme Opus 5.5, résolvent la moitié des preuves avec environ 40 % de tokens en moins par rapport à Opus 5. Cette amélioration suggère que l’efficacité des modèles continuera de croître, rendant la vérification formelle plus abordable.
Implications pour le développement logiciel
Si les modèles d’Intelligence artificielleEnsemble de techniques permettant à des machines d'accomplir des tâches nécessitant habituellement certaines capacités humaines, comme la reconnaissance, la prédiction ou la prise de décision. peuvent automatiser à la fois la génération de code et sa validation formelle, cela pourrait TransformerArchitecture de réseau neuronal reposant notamment sur des mécanismes d'attention pour traiter des séquences de données. la chaîne de production logicielle. Les développeurs gagneraient en confiance lorsqu’ils intègrent du code produit par IA, car une partie de la charge de révision manuelle serait remplacée par des preuves mathématiques. Cette automatisation pourrait aussi réduire les coûts liés à la phase de test, en particulier pour les projets critiques où la vérification formelle était auparavant réservée à des cas d’usage très spécifiques – comme les systèmes d’avionique d’Airbus ou le noyau temps réel seL4, dont la validation a nécessité 20 années‑personnes.
Anthropic envisage que la vérification formelle assistée par IA devienne aussi courante que les tests unitaires. Le partenariat avec Theorem prévoit d’étendre la démarche à des composants majeurs de l’infrastructure logicielle, tels que glibc, OpenSSL et cURL, qui sont au cœur de la sécurité et de la stabilité d’Internet.
Vers une automatisation plus large
Le succès de cette expérimentation montre que la frontière entre programmation et vérification s’estompe. La question n’est plus seulement de savoir si l’IA peut écrire du code, mais si elle peut garantir que ce code reste sûr dans les limites définies. Cette capacité ouvre la porte à des systèmes plus autonomes, où le cycle de développement inclut une boucle de validation instantanée.
Cependant, la réalité reste que les garanties offertes aujourd’hui sont conditionnées par des paramètres techniques stricts. Les développeurs devront donc combiner vérification formelle automatisée et méthodes de test traditionnelles pour couvrir l’ensemble des scénarios d’utilisation. La collaboration entre chercheurs en IA, experts en vérification et communautés open‑source sera essentielle pour affiner les outils, élargir les cas d’usage et réduire les coûts de calcul.
En définitive, la démonstration d’Anthropic montre que l’automatisation de la preuve formelle n’est plus un concept théorique, mais une pratique en cours de maturation, capable de détecter des vulnérabilités que les processus classiques laissent passer.
Perspective à moyen terme
Les prochains mois verront probablement l’intégration de ces techniques dans des pipelines CI/CD (intégration continue / déploiement continu). Les équipes pourront choisir, en fonction de leurs contraintes de sécurité, d’activer une étape de génération de preuves automatisée avant le merge du code. Si les modèles continuent de gagner en efficacité, le facteur coût pourra devenir acceptable même pour des projets de taille moyenne, rendant la vérification formelle accessible à un public plus large que les seules organisations disposant de ressources dédiées.
