Mit KI entwickeln

Metas JiTTests nutzen LLMs, um Fehler zu erkennen, bevor Code integriert wird

Meta hat Just-in-Time Tests in der Produktion eingesetzt und nutzt LLMs zur Generierung ausführbarer Tests, die Anfang 2026 74 schwerwiegende Datenschutzfehler aufdeckten.

Ein Glaswürfel mit Schaltkreisschichten neben Papierkarten und einer Lupe.
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Meta hat seine Just-in-Time Tests (JiTTests) von der Forschungsphase in eine vollständige Produktionsinfrastruktur überführt. Dieses System nutzt große Sprachmodelle, um ausführbare Tests zu generieren, die Fehler in Codeänderungen identifizieren, bevor diese zusammengeführt werden. Der Einsatz zielt darauf ab, schwere Regressionen früher zu erkennen und gleichzeitig den manuellen Prüfaufwand für Ingenieure zu reduzieren.

Was passiert ist

Im vergangenen Jahr haben Meta-Forscher den Einsatz großer Sprachmodelle untersucht, um Softwarefehler dynamisch zu erkennen. Sie stellten JiTTests als neuartigen Ansatz vor, bei dem KI Tests generiert, um Probleme zu entdecken, die herkömmliche Tests möglicherweise übersehen. In den fünf Monaten seit der Vorstellung dieser Arbeit konzentrierte sich das Team darauf, festzustellen, ob der Ansatz auf Metas massive Codebasis skalierbar ist, ohne die Entwicklungsgeschwindigkeit zu verlangsamen.

Die Ergebnisse zeigen, dass JiTTests nun ein integraler Bestandteil des Engineering-Workflows bei Meta sind. Das System hilft Ingenieuren dabei, mehr Fehler mit geringerer Rechenlast und einer niedrigeren Rate an Fehlalarmen im Vergleich zu früheren Prototypen zu finden. Durch das sogenannte „Shift Left“ beim Testen identifiziert die Plattform Risiken proaktiv, sodass Teams effektiv reagieren können, bevor der Code Nutzer beeinträchtigt.

Dieser Übergang markiert einen Wandel von experimentellen KI-Tools hin zu zuverlässiger Infrastruktur. Das Team veröffentlichte ein Paper mit dem Titel „Just-in-Time Catching Test Generation at Meta“, das den ersten Einsatz detailliert beschreibt. Ziel war es, hunderte Millionen Zeilen ständig weiterentwickelten Codes zu handhaben und sicherzustellen, dass herkömmliche Testmethoden mit der Geschwindigkeit moderner Softwarebereitstellung Schritt halten können.

Wie es funktioniert

JiTTests unterscheiden sich grundlegend von standardmäßigen KI-Code-Reviewern. Während typische agentische KIs Code basierend auf früheren Erfahrungen ähnlich wie ein menschlicher Reviewer prüfen, generieren JiTTests ausführbare Tests. Diese Tests demonstrieren konkrete Verhaltensunterschiede, die durch eine Codeänderung eingeführt wurden. Diese Methode erfordert mehr Rechenschritte, erkennt jedoch spezifische Fehlerklassen, die semantische Reviews oft übersehen.

Das System arbeitet mit zwei parallelen Workflows. Der „intent-aware“-Workflow leitet den Zweck einer Codeänderung ab und identifiziert potenzielle Risiken. Anschließend konstruiert er Mutanten – hypothetische Fehler – und generiert Tests, um diese zu eliminieren. Der „dodgy diff“-Workflow behandelt jede Änderung so, als wäre sie ein Fehler, und generiert Tests, um Verhaltensunterschiede offenzulegen, ohne Rückschlüsse auf die Absicht zu ziehen. Beide Workflows erzeugen „weak catches“, also potenzielle Fehler, die einer weiteren Validierung bedürfen.

Um diese weak catches zu filtern, nutzt Meta ein Ensemble namens „LLM-as-Judge“. Mehrere hochmoderne LLMs prüfen den Testcode, die Ausführungstraces und den Diff selbst, um Ergebnisse als echte oder falsche Positive zu klassifizieren. Dies wird durch RubFake ergänzt, einen regelbasierten Bewerter, der deterministische Urteile liefert. Die Kombination stellt hohe Präzision sicher, bevor ein menschlicher Ingenieur involviert wird.

Wichtige Details

  • JiTTests generierten und führten Tests für Diffs aus, die anhand eines Diff Risk Score-Mechanismus als riskant eingestuft wurden.
  • Das System fing im ersten Halbjahr 2026 74 schwerwiegende Datenschutzfehler ab, bevor sie die Produktion erreichten.
  • Ingenieure berichteten über eine True-Positive-Rate von 60 % für die von JiTTests gefundenen Ergebnisse.
  • Der Ansatz reduzierte das Gesamtvorkommen von Vorfällen mit hoher Datenschutzrelevanz im gleichen Zeitraum um 20 %.
  • 589 Ingenieure, was 64 % der Angesprochenen entspricht, nutzten die JiTTests-Ergebnisse.
  • Der Workflow folgt einem Human-on-the-loop-Modell, bei dem Ingenieure aggregierte Ergebnisse statt einzelner Testfälle überprüfen.

Warum das wichtig ist

Für Teams, die Software im großen Maßstab entwickeln, übersteigt die Bereitstellungsgeschwindigkeit oft die Kapazität für gründliches manuelles Testen. JiTTests zeigen, dass KI eine zusätzliche Sicherheitsebene bieten kann, die Regressionen erkennt, die statische Analysen oder traditionelle Unit-Tests möglicherweise übersehen. Durch die Automatisierung der Generierung ausführbarer Nachweise für Fehler können Organisationen das unternehmensweite Risiko senken, ohne die Entwicklergeschwindigkeit zu opfern.

Das Human-on-the-loop-Design ist besonders für Engineering-Leads signifikant. Anstatt Entwickler dazu zu zwingen, jeden KI-generierten Test zu prüfen, filtert das System Rauschen heraus und eskaliert nur Befunde mit hoher Konfidenz. Dies reduziert Reibungsverluste und stellt sicher, dass menschliche Expertise zur Bestätigung von Verhaltensänderungen genutzt wird, statt zum Debuggen von Fehlalarmen. Es macht KI-gestütztes Testen sozial und technologisch skalierbar.

Darüber hinaus unterstreicht der Erfolg von JiTTests den Wert der Kombination probabilistischer LLM-Urteile mit deterministischen regelbasierten Systemen. Rein KI-gesteuerte Ansätze können unter Nicht-Determinismus leiden, was ihr Vertrauen in kritischen Pipelines erschwert. Durch die Integration von RubFake und LLM-as-Judge schuf Meta ein hybrides System, das semantisches Verständnis mit verifizierbarer Logik balanciert und einen Bauplan für robuste KI-Integration in CI/CD-Pipelines bietet.

Was Sie tun können

  • Bewerten Sie Ihre aktuelle CI-Pipeline, um Lücken zu identifizieren, wo Tests auf Verhaltensregressionen fehlen.
  • Experimentieren Sie mit LLMs zur Generierung von Unit-Tests für komplexe Funktionen, wobei der Fokus auf Edge Cases liegt, die aus der Codeabsicht abgeleitet werden.
  • Implementieren Sie eine Filterschicht für KI-generierte Tests unter Verwendung einfacher statischer Regeln, bevor menschliche Reviewer involviert werden.
  • Definieren Sie klare Kriterien dafür, was eine „riskante“ Änderung in Ihrer Codebasis darstellt, um automatisierte Testbemühungen zu priorisieren.
  • Nehmen Sie eine Human-on-the-loop-Mentalität an, indem Sie KI-Befunde für die Stapelprüfung aggregieren, anstatt Entwickler bei jedem einzelnen Punkt zu unterbrechen.
  • Lesen Sie das Paper „Just-in-Time Catching Test Generation at Meta“, um die architektonischen Details der dodgy diff- und intent-aware-Workflows zu verstehen.
  • #meta
  • #llm testing
  • #software engineering
  • #ci/cd
  • #ai safety

Tools aus dem Bytechap-Shop

$89

DocBento

Selbst gehostetes Dokumentenmanagement, das jeden Scan liest und mit Seitenzitaten antwortet.

Live-Demo

Weiterlesen

Alle Artikel