← Neueste Arbeiten
💬 NLP

FunFuzz: An LLM-Powered Evolutionary Fuzzing Framework

FunFuzz ist ein evolutionärer Fuzzing-Rahmenwerk mit mehreren Inseln, das Large Language Models mit adaptiven, feedbackgesteuerten Prompts und periodischer Kandidatenmigration nutzt, um Prompt-Sensitivität und Sampling-Varianz zu überwinden, wodurch eine überlegene Compiler-Abdeckung erreicht und mehr einzigartige, Fehler auslösende Eingaben entdeckt werden als bei früheren LLM-gesteuerten Ansätzen.

Ursprüngliche Autoren: Mario Rodríguez Béjar, B. Romera-Paredes, Jose L. Hernández-Ramos

Veröffentlicht 2026-05-06
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Ursprüngliche Autoren: Mario Rodríguez Béjar, B. Romera-Paredes, Jose L. Hernández-Ramos

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, versteckte Fallen in einem riesigen, komplexen Labyrinth zu finden. Dieses Labyrinth ist ein Compiler – die Software, die menschlich geschriebenen Code in Anweisungen übersetzt, die ein Computer tatsächlich ausführen kann. Wenn der Compiler einen Fehler enthält, kann er abstürzen oder falsche Antworten liefern, was alles, was darauf aufbaut, zerstören kann.

Seit Jahrzehnten nutzen Experten „Fuzzer", um diese Fehler zu finden. Stellen Sie sich einen Fuzzer als einen Roboter vor, der Millionen zufälliger Testfälle gegen das Labyrinth wirft, um zu sehen, ob etwas kaputtgeht. Doch moderne Compiler sind so komplex, dass das zufällige Werfen oft die tiefen, tückischen Ecken verpasst.

In jüngster Zeit haben Menschen begonnen, KI (Large Language Models) zu verwenden, um diese Testfälle zu schreiben. Die KI ist intelligent und kann Code schreiben, der sehr realistisch aussieht. Das Papier argumentiert jedoch, dass die Verwendung der KI auf diese Weise ein Problem hat: Sie gerät in eine Sackgasse. Wenn Sie eine KI bitten, Code zu schreiben, generiert sie möglicherweise immer wieder dieselben fünf Arten von Sätzen, nur mit unterschiedlichen Wörtern. Sie hört auf, neue Teile des Labyrinths zu erkunden.

Hier kommt FunFuzz ins Spiel.

Die Autoren haben ein neues System namens FunFuzz entwickelt, um dies zu beheben. So funktioniert es, anhand einer einfachen Analogie:

1. Die „Multi-Insel"-Strategie

Stellen Sie sich vor, Sie haben ein Team von Schatzsuchern, die nach einer verlorenen Stadt suchen.

  • Der alte Weg (Single AI): Sie schicken einen Jäger los. Er beginnt zu laufen, findet einen Pfad und folgt ihm weiter. Irgendwann wird er gelangweilt oder bleibt in einer Schleife stecken und hört auf, Neues zu finden.
  • Der FunFuzz-Weg: Sie schicken fünf separate Teams (genannt „Inseln") los. Jedes Team startet in einem völlig anderen Teil des Dschungels mit einer anderen Karte und einem anderen Ziel.
    • Team A soll nach „alten Ruinen" suchen.
    • Team B soll nach „versteckten Höhlen" suchen.
    • Team C soll nach „Flussüberquerungen" suchen.

Da sie mit unterschiedlichen Anweisungen starten, laufen sie nicht alle denselben Weg. Sie erkunden gleichzeitig verschiedene Teile des Labyrinths.

2. Das „Migration"-System

Alle paar Stunden treffen sich die Teams an einem Lagerfeuer.

  • Wenn Team A ein wirklich cooles, seltenes Artefakt findet (ein Programm, das den Compiler zum Absturz bringt oder etwas Seltsames bewirkt), behalten sie es nicht für sich. Sie teilen eine Kopie mit Team B und Team C.
  • Entscheidend: Sie werfen Team B nicht aus ihrem Lager. Sie fügen das neue Artefakt einfach der Sammlung von Team B hinzu. Auf diese Weise kann Team B diese neue Idee nutzen, um tiefer zu graben, ohne die bereits erzielten Fortschritte zu verlieren.

Dies verhindert, dass die gesamte Gruppe in derselben Schleife stecken bleibt, während gleichzeitig die besten Entdeckungen weitergegeben werden.

3. Der „Fitness-Score" (Wie sie wissen, was gut ist)

Wie weiß die KI, welcher Testfall besser ist?

  • Das System kompiliert den Code, den die KI geschrieben hat.
  • Es zählt, wie viele neue Zeilen des eigenen internen Codes des Compilers durch diesen Test berührt wurden.
  • Wenn ein Testfall den Compiler dazu bringt, einen Teil von sich selbst zu betrachten, den er noch nie gesehen hat, erhält dieser Test eine hohe Punktzahl.
  • Das System wählt die Tests mit der höchsten Punktzahl aus, um die nächste Generation von Tests zu „züchten" und die Suche ständig zu verfeinern.

Was haben sie gefunden?

Die Forscher testeten FunFuzz gegen andere erstklassige Tools (wie Fuzz4All, das KI verwendet, aber nur ein Team, und Kitten, das Millionen zufälliger Mutationen wirft) an zwei wichtigen Compilern: GCC und Clang.

  • Bessere Abdeckung: FunFuzz fand mehr „neues Terrain" innerhalb der Compiler als die anderen Tools. Es erkundete tiefer und weiter.
  • Mehr Fehler: Über 24-Stunden-Tests hinweg fand FunFuzz 119 einzigartige Fehler, die dazu führten, dass die Compiler abstürzten oder intern versagten.
  • Auswirkung auf die Praxis: Entwickler bestätigten 80 dieser Fehler.
  • Effizienz: Obwohl FunFuzz nicht mehr Programme insgesamt generierte als die schnellsten Tools, waren die Programme, die es tatsächlich generierte, von viel höherer Qualität. Es fand mehr Fehler pro Stunde.

Das Fazit

FunFuzz ist wie eine intelligente Schatzsuche, die ein Team von Entdeckern anstelle eines einzelnen Läufers einsetzt. Indem es die Teams getrennt hält, aber ihnen erlaubt, ihre besten Funde zu teilen, vermeidet es, in langweiligen Schleifen stecken zu bleiben, und gräbt viel tiefer in die komplexe Maschinerie moderner Compiler, um Fehler zu finden, die andere Methoden übersehen.

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 →