KI-gestützte Fehlersuche mit SapFix und Sapienz

Automatisiertes Code-Debugging-Tool von Facebook

| Autor: Stephan Augsten

SapFix soll als unabhängiges Tool dabei helfen, Code-Fehler aufzuspüren und Patches zu generieren.
SapFix soll als unabhängiges Tool dabei helfen, Code-Fehler aufzuspüren und Patches zu generieren. (Bild: Facebook)

Facebook-Entwickler haben mit SapFix ein Open-Source-Tools bereitgestellt, das Code-Fehler automatisiert aufspüren und beheben soll. Als KI-Hybrid ist SapFix auf Interaktion angewiesen, erstellt Patches aber vollautomatisch.

SapFix soll die Zeit, die Anwendungsentwickler für das Debugging aufwenden, erheblich reduzieren. Facebook selbst nutzt das Tool, um stabile Updates für die eigene Android-App bereitszustellen. Das KI-basierte Test- und Debugging-Tool hat sich demnach in Produktion bewährt, und zwar auf Millionen von Android-Geräten.

SapFix ist als unabhängiges Tool konzipiert, arbeitet bei Bedarf aber auch mit Facebooks automatisiertem Test-Werkzeug Sapienz zusammen. Im derzeitigen Proof-of-Concept-Zustand konzentriert sich SapFix darauf, von Sapienz gefundene Fehler zu beheben, bevor sie in die Produktion gelangen.

Aktuell verhält es sich also so, dass Sapienz den Bug entdeckt und ihn unter Zuhilfenahme des statischen Analysetools Infer im Code verortet. Sobald Sapienz und Infer einen bestimmten Teil des Codes, der mit einem Absturz verbunden ist, lokalisiert haben, übergeben sie diese Informationen an SapFix.

SapFix erstellt dann einen Patch, der die verantwortliche Code-Einspeisung komplett oder teilweise rückgängig macht. Bei komplexeren Fehlern greift das Tool auf eine Sammlung von vordefinierten Fixes zu. Diese Vorlagen basieren auf einem Pool von früheren, menschengemachten Korrekturen. Sollten diese Templates nicht komplett passen, passt SapFix den Fix solange an, bis eine mögliche Lösung gefunden ist.

Um den bestmögliche Korrekturen bereitstellen zu können, generiert SapFix pro Fehler mehrere potenzielle Patches. Dann bewertet das Tool eigenständig die Qualität, indem es nach drei Problemen sucht: Gibt es Kompilierungsfehler, bleibt der Absturz bestehen und führt der Fix mitunter zu neuen Abstürzen?

Sind die Patches vollständig getestet, übermittelt SapFix sie zur Genehmigung an einen Entwickler weiter. Das System verfolgt dann automatisch das Feedback des Prüfers, spielt akzeptierte Patches ein und bereinigt dann die übrigen Fixes. Weitere Informationen zur automatisierten Fehlerkorrektur mit SapFix finden sich im Developer-Tools-Bereich von Facebook.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45498909 / Patching & Wartung)