← Derniers articles
💻 computer science

AI-Assisted Completion of CertiGC Proofs: An Experience Report

Ce rapport d'expérience détaille comment des outils assistés par l'IA (Codex) ont été utilisés pour stabiliser et achever la preuve du ramasse-miettes générationnel vérifié CertiGC dans Rocq en réorganisant la vérification autour d'un nouvel invariant d'arête de retour enregistrée pour gérer les mises à jour mutables, tandis que des experts humains se sont concentrés sur l'adjudication des invariants et l'audit du chemin de preuve pour garantir la correction.

Auteurs originaux : Shengyi Wang

Publié 2026-07-09
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Shengyi Wang

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 êtes l'architecte en chef d'une immense bibliothèque magique appelée CertiGC. Cette bibliothèque ne se contente pas de stocker des livres ; c'est un système vivant et respirant qui nettoie automatiquement les vieux livres inutilisés pour faire de la place aux nouveaux. Pendant des années, la bibliothèque a fonctionné selon une règle simple : « Une fois qu'un livre est placé sur une étagère, personne ne le déplace et personne n'écrit de note pointant vers un livre plus récent. » Cette règle rendait le travail de l'équipe de nettoyage facile. Ils pouvaient balayer les étagères, sachant qu'aucun vieux livre ne pourrait soudainement pointer vers un tout nouveau.

Mais ensuite, la bibliothèque a décidé de devenir passionnante. Elle a voulu autoriser les mises à jour mutables : permettre aux bibliothécaires d'écrire de nouvelles notes dans les vieux livres qui pointeraient vers des nouveautés fraîchement arrivées. Soudain, l'ancienne règle (« pas de vieux livres pointant vers des nouveaux ») a été brisée. La carte de l'équipe de nettoyage était désormais fausse. S'ils continuaient à balayer en se basant sur l'ancienne carte, ils rateraient les nouveaux livres vers lesquels les vieilles notes pointaient, et ces livres seraient jetés par erreur !

C'est l'histoire d'une équipe qui a utilisé un assistant IA super intelligent, nommé Codex, pour réparer la carte de nettoyage de la bibliothèque. Mais voici le rebondissement : Codex n'a pas simplement inventé une nouvelle carte à partir de rien. Au lieu de cela, Codex a agi comme un stagiaire infatigable et hyper organisé, capable de lire des milliers de pages, de tester de nouvelles idées et de lancer la « simulation de nettoyage » encore et encore, tandis qu'un expert humain restait à ses côtés pour dire : « Oui, cette idée fonctionne », ou « Non, cela enfreint les règles ».

Le Grand Problème : La Carte Brisée

La carte originale reposait sur une règle de « Pas d'arête vers l'arrière » (No-Backward-Edge). Imaginez cela comme un système de rues à sens unique où l'on ne peut circuler que vers l'avant dans le temps. Mais avec les nouvelles mises à jour « mutables », on pouvait soudainement conduire vers l'arrière, d'un ancien quartier vers un nouveau. La carte originale disait : « C'est impossible ! » La nouvelle réalité disait : « Cela arrive tout le temps ! »

Si l'équipe avait essayé de forcer l'ancienne carte à fonctionner, elle aurait dû prétendre que les trajets vers l'arrière n'avaient jamais eu lieu. Cela aurait signifié que la bibliothèque ne serait « correcte » que pour une version ennuyeuse d'elle-même qui ne faisait pas ces choses nouvelles et géniales. Ce n'était pas le but. Ils avaient besoin d'une nouvelle règle qui admette que les trajets vers l'arrière étaient possibles, mais seulement s'ils étaient enregistrés dans un registre spécial.

Le Rôle de l'IA : Le Stagiaire Infatigable

L'expert humain savait qu'ils avaient besoin d'une nouvelle règle : « Chaque fois qu'un vieux livre pointe vers un nouveau, il doit être inscrit dans le registre du "Ensemble Mémorisé" (Remembered Set). »

Ils ont demandé à Codex d'aider à construire la preuve que cette nouvelle règle garderait la bibliothèque en sécurité. Codex ne s'est pas contenté d'écrire la réponse finale. Il a agi comme un détective qui :

  1. A lu le code : Il a scanné les plans de la bibliothèque.
  2. A proposé la règle : Il a suggéré le concept d'« Arête vers l'arrière enregistrée » (Recorded-Backward-Edge) (l'idée du registre).
  3. A testé la règle : Il a lancé la simulation de nettoyage de la bibliothèque (le « noyau Rocq ») des milliers de fois.
  4. A corrigé les bugs : Quand la simulation plantait, Codex ajustait les scripts de preuve, essayait un autre angle, et relançait le processus.

Le travail de l'expert humain était la partie la plus critique : Le Juge. Codex pouvait proposer une règle, mais l'humain devait décider si cette règle correspondait réellement au comportement réel de la bibliothèque. Par exemple, Codex aurait pu suggérer : « Faisons comme si le registre n'existait pas pour le rapport final. » L'humain a répondu : « Non ! Le registre est réel. Nous ne pouvons pas le cacher. »

Les Résultats : Une Bibliothèque Propre

Après beaucoup de travail, l'équipe a réussi.

  • La Correction : Ils ont remplacé la règle brisée de « Pas d'arête vers l'arrière » par la nouvelle règle de « l'Arête vers l'arrière enregistrée ».
  • La Preuve : Le processus de nettoyage de la bibliothèque a été prouvé sûr, même avec les nouvelles mises à jour. Le théorème final (le « Grand Certificat ») paraissait toujours identique pour l'extérieur : « La bibliothèque est propre et organisée. » Mais en dessous, la logique était bien plus intelligente.
  • Le Nettoyage : Même après l'acceptation de la preuve principale, l'équipe ne s'est pas arrêtée. Ils ont passé du temps supplémentaire (du 1er au 3 mai) à auditer les règles pour s'assurer qu'aucune vieille hypothation erronée ne se cachait dans le code. Ils ont supprimé une condition « obsolète » qui provenait de l'ancienne version ennuyeuse de la bibliothèque.

Ce que cela nous apprend

L'article suggère que les outils d'IA comme Codex sont incroyables pour la maintenance et la réparation. Ils peuvent être le partenaire parfait d'un expert humain lorsque le travail implique de :

  • Propager des invariants : Prendre une nouvelle règle et s'assurer qu'elle fonctionne dans chaque recoin d'un code source massif.
  • Nettoyer : Réparer des scripts de preuve désordonnés et supprimer du vieux code inutile.
  • Tester : Lancer la « simulation » (le compilateur) encore et encore pour voir si un petit changement casse quelque chose.

Cependant, l'article est très clair sur ce que l'IA ne peut pas faire seule.

  • Elle n'a pas découvert la solution entière : L'humain a dû comprendre la sémantique de la bibliothèque et décider quelle devait être la nouvelle règle.
  • Elle n'a pas remplacé le juge humain : L'IA pouvait proposer une règle, mais l'humain devait vérifier que la règle ne fragilisait pas accidentellement les garanties de sécurité de la bibliothèque.
  • Ce n'était pas une « baguette magique » : L'IA n'a pas simplement écrit toute la preuve d'un coup. C'était un processus « supervisé et piloté par le vérificateur ». L'humain était toujours dans la boucle, guidant l'IA, rejetant les mauvaises idées et s'assurant que le résultat final était réellement correct.

Les Chiffres

L'équipe a travaillé sur cela pendant un certain temps. La « phase assistée par Codex » (quand l'IA faisait le plus gros du travail) s'est déroulée entre le 22 avril et le 3 mai 2026.

  • Durant cette période, il y a eu 51 commits git (mises à jour du code).
  • L'IA a effectué 13 305 appels d'outils (actions telles que lire des fichiers, lancer des tests ou éditer du code).
  • L'humain a donné 415 prompts (instructions à l'IA).
  • L'IA a passé 59,3 heures actives à travailler sur le problème.

L'article souligne que ce n'était pas un « problème résolu » où l'IA l'a fait seule. C'était plutôt une collaboration réussie où l'IA gérait le travail fastidieux et répétitif de vérification et de correction, tandis que l'humain apportait la compréhension profonde et le dernier mot sur ce qui est vrai. Le résultat est une bibliothèque sûre, vérifiée et prête pour l'avenir.

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 →