← Derniers articles
🤖 AI

Harnessing Code Agents for Automatic Software Verification

Cet article démontre que l'enveloppement d'un agent de code LLM à usage général dans une structure de vérification garantissant la correction, plutôt que de le contraindre par des stratégies fixes conçues par l'humain, permet une vérification formelle entièrement automatique et complète de systèmes logiciels complexes, atteignant une couverture de preuve de 100 % sur des milliers de lemmes à travers Coq et Lean 4 sans intervention d'expert.

Auteurs originaux : Shuangxiang Kan, Shuanglong Kan, Sebastian Ertel

Publié 2026-07-08
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Shuangxiang Kan, Shuanglong Kan, Sebastian Ertel

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous essayiez de construire un gratte-ciel, mais que les plans sont écrits dans une langue si complexe et stricte que seuls quelques experts au monde peuvent la lire. Si vous faites ne serait-ce qu'une seule petite erreur de calcul, l'immeuble entier pourrait s'effondrer. C'est le monde de la vérification logicielle formelle. Il s'agit du processus consistant à prouver mathématiquement qu'un code informatique est exempt de bogues.

Pendant des décennies, cela a été un goulot d'étranglement. Bien que nous puissions prouver qu'un logiciel est parfait, cela demande des années de travail acharné d'experts humains pour rédiger les preuves. C'est comme embaucher une équipe d'architectes pour vérifier manuellement chaque brique d'une ville, une par une.

Ce document présente une nouvelle façon de faire cela appelée Aria. Au lieu d'essayer d'apprendre à un ordinateur comment penser comme un architecte humain (ce qui a échoué par le passé), les auteurs ont donné à un agent informatique intelligent un « bac à sable » et l'ont laissé trouver la solution par lui-même.

Voici comment cela fonctionne, en utilisant des analogies simples :

1. Le Problème : Le goulot d'étranglement de l'« Expert »

Considérez la vérification formelle comme la résolution d'un immense casse-tête logique à plusieurs étapes.

  • L'ancienne méthode : Vous embauchez un expert humain. Il examine le casse-tête, réfléchit pendant des heures et écrit la solution.
  • La limitation : Les experts sont coûteux et lents. Ils ne peuvent résoudre que quelques casse-têtes par jour.
  • Les tentatives d'IA ratées : Les tentatives précédentes d'utilisation de l'IA étaient comme donner un robot une liste de contrôle stricte. « Étape 1 : Regardez cette pièce. Étape 2 : Essayez ce mouvement. » Le robot suivait les règles mais restait bloqué parce que la liste était trop rigide. Il ne pouvait résoudre que les casse-têtes faciles.

2. La Solution : L'« Agent de Code » et le « Harnais de Sécurité »

Les auteurs ont essayé une approche différente. Ils n'ont pas donné de liste de contrôle à l'IA. À la place, ils lui ont donné un assistant de codage polyvalent (comme un stagiaire super intelligent nommé « Claude Code ») et un harnais de sécurité strict.

  • L'Agent (Le Stagiaire) : Vous donnez le casse-tête entier (le « lemme ») à l'IA et vous dites : « Résous ceci. » L'IA est libre d'essayer n'importe quoi. Elle peut examiner les règles, tenter un mouvement, échouer, regarder une autre partie du code ou essayer une stratégie complètement nouvelle. Elle ne suit pas le plan rigide d'un humain ; elle utilise son propre jugement.
  • Le Harnais (L'Inspecteur de Sécurité) : C'est la partie la plus importante. L'IA est autorisée à faire des erreurs, mais elle ne peut pas les faire passer dans le système.
    • Si l'IA écrit une preuve, le « Harnais » la soumet à un vérificateur automatique strict (le « noyau Coq »).
    • Si c'est faux : La machine dit : « Non. L'étape 4 est incorrecte. Voici exactement pourquoi. »
    • La Boucle : L'IA reçoit le retour, corrige l'erreur et réessaie. Elle peut faire cela jusqu'à 30 fois pour un seul casse-tête.
    • La Règle : La preuve n'est acceptée que si le vérificateur automatique dit : « Oui, c'est 100 % correct. » L'IA ne peut pas mentir et ne peut pas sauter d'étapes.

3. Les Résultats : Résoudre les casse-têtes « Impossibles »

Les auteurs ont testé ce système sur les casse-têtes logiques les plus difficiles du monde logiciel, spécifiquement une bibliothèque appelée Iris.

  • Le Défi : Iris est utilisé pour vérifier des logiciels concurrents complexes (comme les systèmes d'exploitation et les bibliothèques sécurisées). C'est considéré comme l'« Everest » de la vérification logicielle.
  • L'Accomplissement : L'IA, sans aide humaine, a résolu 100 % des casse-têtes.
    • Elle a prouvé 4 257 lemmes complexes dans la bibliothèque centrale d'Iris.
    • Elle a prouvé 217 lemmes pour la bibliothèque standard de Rust (les règles de sécurité pour un langage de programmation populaire).
    • Elle a même résolu 318 casse-têtes dans une autre bibliothèque où les systèmes d'IA précédents avaient échoué sur 7 tentatives sur 8.
    • Elle a même fonctionné sur un autre type de système mathématique (Lean), prouvant qu'il ne s'agissait pas seulement d'un tour pour un outil spécifique.

4. Pourquoi cela fonctionne (La « Recette Secrète »)

Le document soutient que la clé n'était pas de rendre l'IA plus intelligente, mais de changer la relation entre l'IA et le vérificateur.

  • La Confiance est Gratuite : Dans de nombreuses tâches d'IA, vous devez vous inquiéter de savoir si l'IA hallucine (invente des choses). Dans ce système, le « Harnais de Sécurité » agit comme un juge infaillible. Si l'IA dit « J'ai résolu le problème », le juge vérifie. Si c'est faux, le juge rejette. L'IA ne peut pas bluffer.
  • Pas de Règles Rigides : En laissant l'IA choisir sa propre stratégie (au lieu de la forcer à suivre un plan étape par étape dicté par un humain), elle a pu utiliser sa propre « intuition » pour trouver des raccourcis et des solutions que les systèmes rigides ont manqués.

5. Le Polissage

Parfois, l'IA trouve une solution qui est correcte mais désordonnée (comme une preuve mathématique écrite dans un style confus). Le système inclut un agent « Polisseur » qui réécrit la preuve désordonnée dans un style propre et professionnel, garantissant qu'elle ressemble à une preuve écrite par un expert humain, tout en passant le contrôle machine strict.

Résumé

Le document affirme qu'en associant un agent d'IA intelligent et libre de ses mouvements à un harnais de sécurité strict et implacable, nous pouvons désormais prouver automatiquement qu'un logiciel complexe est exempt de bogues. C'est comme embaucher un stagiaire brillant et créatif qui est autorisé à essayer n'importe quelle méthode pour résoudre un problème, mais qui est supervisé par un robot qui refuse d'accepter quoi que ce soit de moins que la perfection. Le résultat ? L'IA a résolu chaque problème qui lui a été soumis, y compris ceux que les humains disent être trop difficiles à automatiser.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →