Meta setzt LLM-generierte Tests ein, die Fehler erkennen, bevor Code live geht

Meta hat seine Catching Just-in-Time Tests (JiTTests) vom Forschungsprototyp zur Produktivinfrastruktur weiterentwickelt. Laut Meta nutzt das System Large Language Models, um Tests zu erzeugen, die Fehler in Codeänderungen aufdecken, bevor sie in die Produktion gelangen. Im ersten Halbjahr 2026 habe es geholfen, 74 schwerwiegende Datenschutzfehler zu finden.
- Meta hat Catching JiTTests vom Forschungsprototyp in die Produktivinfrastruktur überführt.
- Das System erzeugt Tests, die an riskanten Diffs scheitern sollen, und nutzt dafür die Workflows intent-aware und dodgy diff.
- LLM-as-Judge und der regelbasierte Filter RubFake sortieren schwache Treffer aus, wobei Engineers on the loop statt in the loop arbeiten.
- Laut Meta haben sich 589 Engineers beteiligt, bei einer Quote von 60 Prozent echter Positive.
- Meta zufolge half das System im ersten Halbjahr 2026 bei 74 schwerwiegenden Datenschutzfehlern und senkte Datenschutz-SEVs um 20 Prozent.
Tests, die bei fehlerhaftem Code scheitern sollen
Das Engineering-Team von Meta beschreibt Catching JiTTests als anderen Ansatz als die meisten KI-gestützten Verfahren zur Fehlervermeidung. Viele Tools setzen LLMs oder agentische KI ein, um Code zu prüfen und anhand früherer Erfahrungen Fehler zu markieren. Sie arbeiten dabei im Grunde wie ein menschlicher Reviewer, nur schneller. Catching JiTTests erzeugt stattdessen ausführbare Tests, die einen konkreten Verhaltensunterschied belegen, den eine Änderung mit sich bringt.
Laut Meta erfordert das mehr Rechenschritte, erkennt aber Fehlerklassen, die LLM- oder agentenbasierte Code-Reviews womöglich übersehen. Die Tests werden automatisch generiert und sind darauf ausgelegt zu scheitern, um Fehler in Codeänderungen (Diffs) aufzudecken, bevor sie in Produktion gehen. Angesichts der Größe der Codebasis mit Hunderten Millionen Codezeilen, die sich ständig weiterentwickeln, könne klassisches Testen nicht mehr Schritt halten, so Meta.
Zwei Workflows und ein Filter gegen Fehlalarme
Die größte Herausforderung in Metas Größenordnung besteht darin, starke Treffer, also echte Fehlschläge, die tatsächliche Bugs offenlegen, von schwachen Treffern zu trennen, bei denen es sich um Fehlalarme handeln kann. Meta hat dafür zwei Workflows entwickelt:
- Einen intent-aware Workflow, der die Absicht und die Risiken einer Codeänderung ableitet und die Testgenerierung auf wahrscheinliche Schwachstellen ausrichtet.
- Einen dodgy diff Workflow, der jede Codeänderung wie eine Mutante oder einen Bug behandelt und Tests erzeugt, die ihre Verhaltensunterschiede aufdecken, ohne die Absicht zu berücksichtigen.
Das System läuft über Nacht auf freien Kapazitäten und nimmt sich Diffs des Vortags vor, die als riskant eingestuft werden. Dabei kommt ein Mechanismus ähnlich dem Diff Risk Score (DRS) zum Einsatz, der auf früheren Codeänderungen trainiert wurde. Tests, die am tatsächlichen Diff scheitern, werden als schwache Treffer eingesammelt.
Zum Filtern kombiniert Meta ein Ensemble namens LLM-as-Judge, das die Urteile mehrerer modernster LLMs bündelt, mit einem regelbasierten Bewerter namens RubFake (Rule-Based False-Positive Killing Environment). Laut Meta bietet LLM-as-Judge eine reichhaltige Semantik, seine Urteile seien aber nicht deterministisch und schwer überprüfbar, während RubFake verifizierte, deterministische Urteile liefere. Zusammen erzeugen sie ein Ranking der Kandidaten unter den schwachen Treffern.
Human-on-the-loop statt Human-in-the-loop
Auf Basis dieses Rankings entscheidet das System, ob ein menschlicher Entwickler hinzugezogen wird. Statt jedes Ergebnis von einem Engineer prüfen zu lassen, setzt Meta auf einen Ansatz, den das Unternehmen Human-on-the-loop nennt: Engineers legen Kriterien fest und prüfen Ergebnisse auf aggregierter Ebene. Das Ziel sei laut Meta, die Konsistenz menschlicher Bewertung zu erhalten und zugleich die Wahrscheinlichkeit zu senken, dass ein Engineer einen schwachen Treffer prüfen muss.
Meta zufolge müssen Engineers dadurch selten Testcode lesen und nur bestätigen, ob eine beobachtete Verhaltensänderung beabsichtigt war.
Ergebnisse und Bedeutung
Zum Zeitpunkt der Veröffentlichung des Beitrags haben sich 589 Engineers bei Meta, also 64 Prozent der Angesprochenen, mit Catching JiTTests befasst. Diese Engineers meldeten tatsächlich verwertbare Ergebnisse mit einer Trefferquote von 60 Prozent echter Positive. Im ersten Halbjahr 2026 habe Catching JiTTests laut Meta eine Schlüsselrolle dabei gespielt, 74 schwerwiegende (SEV) Datenschutzfehler bereits in der Diff-Phase zu erkennen, und das Gesamtaufkommen von Datenschutz-SEVs in diesem Zeitraum um 20 Prozent gesenkt.
Meta argumentiert, das Ergebnis sei wichtig, weil agentische Softwareentwicklung es Entwicklern ermögliche, Code schneller zu schreiben, zu prüfen und auszuliefern, was den Bedarf an schnellerem Testen erhöhe. Das Unternehmen sieht sich in der Annahme bestätigt, dass LLMs als zusätzliche Sicherheitsebene für das dienen können, was klassische Tests übersehen, und dass KI-generiertes Testen skalierbar genug ist, um organisatorische Risiken zu verringern. Meta nennt den Ansatz verallgemeinerbar: Engineers definieren früh Erfolgskriterien, lassen die KI die Tests ausführen, überwachen die Ergebnisse aggregiert und greifen auf Richtlinienebene ein.
Die Arbeit ist in dem Paper "Just-in-Time Catching Test Generation at Meta" beschrieben, das auf der FSE 2026 vorgestellt und bei Product@Scale präsentiert wurde.
Engineering at Meta: Catching Bugs Before They Land: JiTTesting’s Human-on-the-Loop Approach at Full Scale


