Schlechte Code-Qualität durch die KI-Assistenten GitHub Copilot und ChatGPT

Eine Studie analysiert, dass die Code-Qualität durch den zunehmenden Einsatz von KI-Assistenten sinkt und die technischen Schulden sich dadurch erhöhen.

In Pocket speichern vorlesen Druckansicht 182 Kommentare lesen
Künstliche Intelligenz als Hilfswissenschaftler: KI revolutioniert die Forschung

(Bild: PopTika / Shutterstock.com)

Lesezeit: 4 Min.

Die Studie „Coding on Copilot“ von GitClear legt nahe, dass die Code-Qualität bei Verwendung von GitHub Copilot oder ChatGPT sinkt, da Entwicklerinnen und Entwickler mit den KI-Assistenten schnelle, aber nicht unbedingt gute und nachhaltige Lösungen beim Coden vorgeschlagen bekommen.

Für die Studie hat GitClear, der Hersteller des gleichnamigen Git-Analyse-Tools, 153 Millionen Zeilen Code, die zwischen Januar 2020 und Dezember 2023 auf GitHub geflossen sind, analysiert. Dazu zählen kommerzielle Repos wie NextGen Health oder Verizon und Open-Source-Projekte wie React oder Chrome. Das Ergebnis zeigt, dass die Code-Qualität im Jahr 2023 mit dem verstärkten Einsatz von KI-Coding-Assistenten abnimmt, und zwar insbesondere in Bezug auf das DRY-Prinzip (Don’t repeat yourself), sprich, es fließt mehr schnell erzeugter, aber bereits vorhandener Code in ein Projekt: „Diese Assistenten bieten eine Ein-Tastendruck-Verführung, existierenden Code zu wiederholen“, schreiben die Autoren der Studie.

Das bläht den Code nicht nur unnötig auf, sondern erhöht dessen Pflegeaufwand, und erschwert es Reviewern und nachfolgenden Nutzerinnen und Nutzern, die Zeilen zu interpretieren. Die technische Schuld erhöht sich, insbesondere weil Code insgesamt weitaus öfter gelesen als geschrieben wird.

Die Studie nimmt in erster Linie den Churned Code (durchgeschüttelten oder zerwühlten Code) ins Visier, also Arbeit, die innerhalb von zwei Wochen korrigiert wurde: „Änderungen, die entweder unvollständig oder fehlerhaft waren, als der Autor sie ursprünglich geschrieben, committed und ins Git-Repro des Unternehmens gepusht hatte“. Churned Code lag laut Studie 2020 bei 3,3 Prozent aller analysierter Codezeilen und steigt 2021 und 2022 leicht (3,6 bzw. 4,0 Prozent). 2023 gibt es dann einen Sprung auf 5,5 Prozent. Als Wert für 2024 prognostiziert GitClear sogar 7,1 Prozent. 2023 stieg gleichzeitig der Anteil an Assistenten nutzenden Entwicklerinnen und Entwickler auf 30 Prozent, laut einer von GitClear zitierten O‘Reilly-Studie aus dem August 2023.

Der Anteil an Churned Code stigt im Jahr 2023 überproportional an, während Moved Code deutlich sinkt.

(Bild: GitClear)

Die GitClear-Studie verweist nicht nur auf einen zeitlichen Zusammenhang. Zur Analyse unterteilten die Autoren Code in Added, Deleted, Moved, Updated, Find/Replaced, Copy Pasted und No-Opt (Leerzeilen und -zeichen, die nicht in die Berechnung flossen). So ist zwischen 2022 und 2023 insbesondere der Wert Moved um 17,3 Prozent zurückgegangen, während Copy und Paste um 11,3 Prozent stieg. Moved Code ist wiederverwendet und getestet, stabil, vielleicht dokumentiert, während die Wiederholungen durch Assistenten unter Copy/Paste fallen. Denn die KI-Suggestions schlagen nur vor, Code zu ergänzen, nie aber zu löschen oder zu bewegen – also das Projekt im weiteren Sinne zu pflegen.

Daraus ziehen die Autoren den Schluss, dass zunehmend fehlerhafter Code in die Repros gepusht und später korrigiert wird. Der Churned-Anteil dürfte sogar noch weitaus höher liegen, denn die GitClear-Analyse berücksichtigt nur Copy und Paste innerhalb eines Commits. Die so entstehenden technischen Schulden machen den von GitHub selbst propagierten Effizienzgewinn von 55 Prozent zunichte, warnt die Studie. Entweder muss das produzierende Team den Code selbst überarbeiten, oder nachfolgende Reviewer haben mehr Schwierigkeiten damit. Insbesondere letzteres dürfte der Fall sein, da die zitierte O’Reilly-Studie auch zeigt, wie hoch der Produktivitätsdruck in den produzierenden Teams ist.

Das Problem wird sich mit dem weiter zunehmenden Einsatz von Assistenten verstärkten. Um dem zu begegnen, empfiehlt die Studie, spezielle Reinigungs-Tools zu entwickeln, die diese technischen Schulden minimieren. Und die Autoren fragen: „Gibt es irgendwelche KI-Assistenten, die versuchen, das Problem zu lösen?“

Update

GitHub hat inzwischen in einem kurzen Statement Stellung zu der Studie bezogen und bestreitet, dass sich ein Zusammenhang zwischen Analyse der Code-Zeilen und Nutzung von KI-Assistenten herleiten lässt. Außerdem kritisiert die Firma, dass keine anderen Faktoren berücksichtigt wurden, die ebenfalls die Code-Qualität beeinflussen können.

(who)