zurück
Aug
26
2021

Github: Copilot laut Studie mit Fehlern behaftet

40 Prozent der Vorschläge von Githubs auf Machine-Learning basierendem Programmierassistenten Copilot laut einer Studie mit Fehlern behaftet.

Das Werkzeug Copilot von Github, soll die Arbeit beim Programmieren erleichtern. Allerdings haben Forscher eine Analyse über die Auswirkungen hinsichtlich Cybersicherheit in einem Paper veröffentlicht. Der Machine-Learning-basierte (ML) KI-Assistent soll hinausgehend über normale Code-Completion ganze Blöcke von Programmcode generieren.

Die Intention des Programmierers extrahiert Copilot zum Beispiel aus ein paar Variablendeklarationen und Kommentaren, in denen die Intention kurz formuliert wird.

Fehlerhafter Code

Ein Forscherteam fand heraus, dass 40 Prozent des von Copilot vorgeschlagenen Sourcecodes fehlerträchtig war. "Während Copilot schnell ungeheure Mengen an Code generieren kann, zeigen unsere Schlussfolgerungen, dass Entwickler bei der Verwendung wachsam bleiben sollten." Weiter weisen sie darauf hin, dass es wichtig wäre, Tools wie Copilot mit Sicherheitsanalysetools "während Training und Generierung" zu kombinieren "um das Risiko der Einführung von Sicherheitsschwachstellen zu minimieren."

Die Forscher weisen damit auf ein wiederkehrendes und altbekanntes Problem mit ML-KIs auf: Um die ML-Modelle zu trainieren, wird eine riesige Menge Daten benötigt. Ist diese Datenmenge nicht ausreichend kuriert, ergeben sich Probleme, weil das Modell schlechte Angewohnheiten übernimmt. Bisher aber wird mehr nach dem Prinzip Hoffnung gehandelt, dass die schlechten Beispiele praktisch in den Wahrscheinlichkeitsbäumen überstimmt werden, wenn die guten Beispiele überwiegen.

Microsoft ist bekannt, dass das dazugehörende Github und OpenAI, auf dessen GPT-3-Codex-Modell Copilot basiert. Bereit zu Beginn des Programmierassistenten Copilot wurde darauf hingewiesen, dass die Codes des künstlichen Partners für Pair Programming vom menschlichen Teil des Paares genau überprüft werden sollten. 

Softwareentwicklung, Sicherheitslücken, Applikationen