23. Feb. 2024
ChatGPT und GitHub Copilot in der Software Entwicklung
Willkommen zu unserer mehrteiligen Serie über den Einsatz moderner KI-Tools in der Welt der Softwareentwicklung! Inzwischen gibt es evidenzbasierte Forschungsergebnisse darüber, wie Entwickler:innen Erfahrungen mit den Tools in allen Phasen des Softwareentwicklungszyklus optimieren können. Ganz gleich, ob neue Funktionen entwickelt oder Fehler behoben werden sollen. In den kommenden Wochen zeigen wir in dieser Serie, wie genau das funktioniert.
Chancen und Möglichkeiten von ChatGPT/GitHub Pilot im Softwarenentwicklungsprozess
Besseres Verständnis für Anforderungen
ChatGPT und GitHub Copilot können verwendet werden, um das Verständnis der Anforderungen für neue oder bestehende Softwareprojekte zu verbessern. Indem man den Chatbot mit einigen Hintergrundinformationen zum Problem versorgt, kann das vorhandene Wissen der Ingenieure ergänzt und durch Brainstorming weiter ausgebaut werden, da der Chatbot neue Erkenntnisse bieten und sicherstellen kann, dass keine Aspekte übersehen wurden. Dazu gehört auch das Abwägen von Kompromissen zwischen verschiedenen Lösungen und das Verstehen der Architektur des Systems.
Generieren von Code
Im weiteren Verlauf des Softwareentwicklungsprozesses können die Tools eingesetzt werden, sobald die Implementierungsphase begonnen hat und der Code geschrieben wird. Man kann den Chatbot mit textbasierten Aufforderungen versehen, um Codeabschnitte zu generieren, oder den Code in das Tool einspeisen und es bitten, Fehler zu identifizieren oder Anpassungen vorzunehmen.
Hilfe beim Testing
Die Tools können auch in der Testphase eingesetzt werden. Wenn Tests viele sich wiederholende Eingabedaten erfordern, kann die Verwendung eines Tools wie ChatGPT den Prozess beschleunigen, da es sogar CSV-Dateien mit Testdaten erstellen kann. Interne Studien sind jedoch zu dem Schluss gekommen, dass GitHub Copilot hier das effektivere Tool ist, da es die vorhandene Codebasis als Kontext für die zu generierenden Daten nutzen kann.
Unterstützung bei Meta-Aufgaben
Nicht zuletzt können ChatGPT und GitHub Copilot auch für "Meta"-Programmieraufgaben verwendet werden, z. B. für das Erlernen neuer Programmiersprachen oder die Einrichtung der eigenen Entwicklungsumgebung, sei es eine IDE oder eine virtuelle Maschine.
KI-Tools in der Softwareentwicklung: Limitationen von ChatGPT und GitHub Copilot
Bei der Nutzung der in diesem Beitrag besprochenen Tools ChatGPT und GitHub Copilot sind zwei wichtige Dinge zu beachten:
- Diese Tools sind nicht unfehlbar und es besteht die Möglichkeit, dass sie falsche oder irreführende Informationen liefern.
- Es können Bedenken hinsichtlich des Datenschutzes bei der Verwendung von Unternehmensdaten als Teil des Inputs für diese Tools bestehen.
Mit diesen Vorbehalten im Hinterkopf können diese Tools Softwareingenieuren nachweislich helfen. Weitere spannende Forschungsergebnisse werden in künftigen Blogbeiträgen näher erläutert.