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 als unabhängiges Tool dabei helfen, Code-Fehler aufzuspüren und Patches zu generieren.
(Bild: Facebook)
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.
Aufklappen für Details zu Ihrer Einwilligung
Stand vom 30.10.2020
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.