← Neueste Arbeiten
🤖 AI

ConVer: Using Contracts and Loop Invariant Synthesis for Scalable Formal Software Verification

Dieser Beitrag stellt ConVer vor, ein top-down-kompositionales Verifikationswerkzeug, das große Sprachmodelle nutzt, um Funktionsverträge zu synthetisieren und diese durch eine CEGAR-CEGIS-Schleife iterativ verfeinert, um die Zustandsraumexplosion bei der Verifikation großer C-Programme und konvertierter LF-Modelle zu überwinden.

Ursprüngliche Autoren: Muhammad A. A. Pirzada, Weiqi Wang, Yiannis Charalambous, Konstantin Korovin, Lucas C. Cordeiro

Veröffentlicht 2026-05-27
📖 6 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Muhammad A. A. Pirzada, Weiqi Wang, Yiannis Charalambous, Konstantin Korovin, Lucas C. Cordeiro

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie versuchen zu beweisen, dass eine riesige, komplexe Fabrik einwandfrei läuft. Die Fabrik verfügt über Tausende von Maschinen, Förderbändern und Arbeitern, die alle in einem riesigen Netzwerk miteinander verbunden sind. Wenn Sie versuchen, jede einzelne Maschine, jedes Zahnrad und jeden Arbeiter genau gleichzeitig zu beobachten, um einen Fehler zu finden, wären Sie überwältigt. Die schiere Menge an Informationen würde Ihr Gehirn „explodieren" lassen, bevor Sie den Fehler finden könnten. Dies ist genau das Problem, mit dem Softwareingenieure konfrontiert sind, wenn sie versuchen, große Computerprogramme zu verifizieren: Es gibt zu viele mögliche Zustände, als dass ein Computer sie alle auf einmal prüfen könnte.

Dieser Beitrag stellt CONVER vor, ein neues Werkzeug, das entwickelt wurde, um dieses „Überwältigungs"-Problem zu lösen, indem es ändert, wie wir den Code prüfen. Anstatt das gesamte Werk auf einmal zu betrachten, agiert CONVER wie ein intelligenter, von oben nach unten arbeitender Manager, der das Problem in winzige, handhabbare Teile zerlegt.

So funktioniert CONVER, unter Verwendung einfacher Analogien:

1. Die „Top-Down"-Strategie: Der Bauplan versus die Ziegelsteine

Normalerweise müssen Sie, um ein Programm zu verifizieren, für jede einzelne Funktion (jede kleine Maschine) vor der Prüfung des gesamten Systems ein detailliertes Regelbuch (einen „Vertrag") schreiben. Dies ist vergleichbar damit, versuchen zu wollen, ein Handbuch für jede einzelne Schraube in einem Auto zu schreiben, bevor Sie sagen können, dass das Auto sicher ist. Das dauert ewig und erfordert Experten.

CONVER kehrt dieses Vorgehen um.

  • Die Analogie: Stellen Sie sich ein Ziel vor: „Die Fabrik darf niemals ein rotes Bauteil produzieren."
  • Der alte Weg: Sie fragen jeden Arbeiter: „Was sind Ihre Regeln?" und versuchen, das System von unten nach oben aufzubauen.
  • Der CONVER-Weg: Sie beginnen mit dem großen Ziel („Keine roten Bauteile"). Anschließend bitten Sie einen KI-Assistenten (ein Large Language Model, oder LLM), die Regeln für jeden Arbeiter zu erraten, die dieses große Ziel garantieren. Es ist, als würde man sagen: „Wenn der Fließbandarbeiter diese einfachen Regeln befolgt, ist das Endprodukt sicher." Sie müssen nicht wissen, wie das Gehirn des Arbeiters funktioniert, sondern nur, dass er die Regeln befolgt.

2. Die „Intelligente Schleife": Der Detektiv und die KI

Sobald die KI die Regeln (Verträge) erraten hat, setzt CONVER sie in einem zweistufigen Prozess auf die Probe, ähnlich wie ein Detektiv und ein Verdächtiger ein Spiel „Errate die Regel" spielen.

  • Schritt A: Die Systemprüfung (Der Manager): CONVER prüft, ob die gesamte Fabrik funktioniert, wenn alle die erratenen Regeln befolgen. Es schaut nicht in die Maschinen hinein; es vertraut einfach den Regeln.
  • Schritt B: Die Funktionsprüfung (Der Inspektor): CONVER prüft dann, ob die tatsächlichen Maschinen diese Regeln tatsächlich befolgen können.
  • Die „CEGAR"-Schleife: Wenn die Maschinen die Regeln nicht befolgen können, gibt CONVER nicht einfach auf. Es nimmt den spezifischen Fehler (das „Gegenbeispiel") und zeigt ihn der KI.
    • Analogie: Die KI sagt: „Ich dachte, der Arbeiter könnte 50 Pfund heben." Der Inspektor sagt: „Nein, der Arbeiter hat eine 50-Pfund-Box fallen lassen." Die KI lernt aus diesem spezifischen Fehler und schreibt eine neue, bessere Regel: „Der Arbeiter kann bis zu 40 Pfund heben."
    • Dies wiederholt sich immer und immer wieder, bis die Regeln perfekt sind.

3. Das „SMART ICE"-Lernen: Das Rauschen filtern

Manchmal macht die KI einen Fehler, weil sie die Frage missverstanden hat, nicht weil die Regel falsch ist. Um dies zu beheben, verwendet CONVER eine Technik namens SMART ICE learning.

  • Die Analogie: Stellen Sie sich vor, Sie bringen einem Hund einen Trick bei. Wenn der Hund sitzt, wenn Sie „Bleib" sagen, wissen Sie, dass es ein guter Trick ist. Aber wenn der Hund sitzt, weil er ein Eichhörnchen gesehen hat, ist das ein Fehlalarm.
  • Wie es funktioniert: CONVER filtert die „Fehlalarme" (Rauschen) heraus und behält nur die „echten Fehler" (Signal). Es klassifiziert die Fehler in „Positiv" (dies funktionierte), „Negativ" (dies ist definitiv gescheitert) und „Implikation" (wenn dies passiert, muss das passieren). Dies hilft der KI, viel schneller zu lernen und sich nicht durch ihre eigenen Fehler verwirren zu lassen.

4. Der „Pre-Abstraction"-Trick: Die Cartoon-Version

Einige Teile des Codes sind so komplex (wie eine Fabrik mit unendlichen Schleifen), dass selbst das Prüfen der Regeln zu schwierig ist.

  • Die Analogie: Wenn eine Maschine zu kompliziert ist, um sie im Detail zu zeichnen, zeichnet CONVER zunächst eine einfache Cartoon-Version davon. Es prüft, ob der Cartoon funktioniert. Wenn ja, tauscht es den Cartoon gegen die echte Maschine aus und prüft erneut.
  • Dies ermöglicht es CONVER, Programme zu verarbeiten, die normalerweise den Speicher eines Computers zum Absturz bringen würden.

Was haben sie herausgefunden?

Die Forscher testeten CONVER an vier verschiedenen „Turnhallen" von Code, die von einfachen Mathe-Rätseln bis hin zu komplexen realweltlichen Dateiparsern und rekursiven Schleifen reichten.

  • Einfache Programme: Bei einer Reihe von 45 Standardprogrammen war CONVER außerordentlich erfolgreich und verifizierte 82 % bis 96 % davon. Die meisten dieser Programme wurden bereits in nur einer Runde der Prüfung gelöst, was bedeutet, dass die KI die Regeln beim ersten Versuch fast perfekt erraten hatte.
  • Schwierigere Programme: Bei schwierigeren Datensätzen (wie dem Parsen von Sicherheitszertifikaten oder komplexen rekursiven Schleifen) sank die Erfolgsrate auf 33 % bis 64 %. Dies ist zu erwarten, da diese Programme viel schwieriger zu verstehen sind.
  • Der „KI"-Faktor: Sie testeten drei verschiedene KI-Modelle (Qwen, Claude und GPT). Je intelligenter das KI-Modell war, desto besser performte CONVER. Das intelligenteste KI-Modell (GPT-OSS 120b) löste die meisten Probleme und bewies, dass die Qualität der „Erratungen" der KI der Schlüssel zum Erfolg ist.

Das Fazit

CONVER ist ein Werkzeug, das KI verwendet, um die „Regelbücher" für Software zu schreiben, und dann einen intelligenten, iterativen Prozess nutzt, um diese Regelbücher zu korrigieren, bis sie perfekt sind. Es verwandelt ein riesiges, unlösbares Puzzle in eine Reihe kleiner, lösbarer Schritte.

  • Es ersetzt nicht die Notwendigkeit der Verifizierung; es automatisiert den schwierigsten Teil (das Schreiben der Regeln).
  • Es garantiert keinen 100-prozentigen Erfolg bei jedem einzelnen komplexen Programm, löst aber viele, die zuvor nicht automatisch überprüfbar waren.
  • Es funktioniert, indem es auf Fehler hört: Jedes Mal, wenn die Software versagt, lernt das Werkzeug genau warum und bittet die KI, es mit einer besseren Annahme erneut zu versuchen.

Kurz gesagt, ist CONVER wie ein unermüdlicher, superschlauer Manager, der ein riesiges Problem in kleine Aufgaben zerlegt, aus jedem Fehler lernt und den Plan immer wieder verfeinert, bis die Arbeit erledigt ist.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →