Kontakt
ELEKS' GitHub Copilot Investigation – Exploring the Potential of AI in Software Development
Artikel

ELEKS GitHub Copilot Studie – Exploration des Potenzials von KI in der Softwareentwicklung

KI revolutioniert die Softwareentwicklung und macht sie effizienter, produktiver und innovativer. In diesem Artikel untersuchen wir die Auswirkungen von KI in der Softwareentwicklung anhand von Erkenntnissen, die das ELEKS R&D Team bei der Untersuchung von GitHub Copilot gewonnen hat.

Die Welt der Softwareentwicklung entwickelt sich ständig weiter. KI spielt dabei eine immer wichtigere Rolle. Angesichts der Vorteile, wie z. B. die Möglichkeit, den Zeit- und Arbeitsaufwand für die Programmierung zu reduzieren, ist es nicht verwunderlich, dass KI heute ein heißes Thema in der Softwareentwicklung ist.

92 % der Entwickler in den USA verwenden bereits KI-Codierungswerkzeuge bei der Arbeit und außerhalb der Arbeit.

4 von 5 Entwicklern erwarten, dass KI-Tools die Zusammenarbeit in ihrem Team verbessern.

70 % der Entwickler sind der Ansicht, dass KI-Werkzeuge ihnen bei ihrer Arbeit einen deutlichen Vorteil verschaffen, z. B. durch bessere Codequalität, kürzere Entwicklungszeiten und bessere Problemlösungsfähigkeiten.

GitHub 

Obwohl KI im Vergleich zu früher noch nicht das Stadium erreicht hat, in dem sie Softwareprodukte ohne menschlichen Eingriff selbstständig erstellen, testen und einführen kann, hat sie die Gesamtdurchlaufzeit erheblich verkürzt.

Es gibt viele KI-gesteuerte Werkzeuge, die bei der Entwicklung benutzerdefinierter Anwendungen helfen können, indem sie Code generieren und automatisch vervollständigen sowie Fehler erkennen und beheben. Das Forschungs- und Entwicklungsteam von ELEKS hat ein solches Tool - GitHub Copilot - eingehend untersucht, um seinen Einfluss auf die Aufgaben der Entwickler, die Dauer der Fertigstellung und die Qualitätsstandards der bereitgestellten Empfehlungen zu bewerten.Lassen Sie uns einen Blick darauf werfen.

Was ist GitHub Copilot?

GitHub Copilot ist ein Werkzeug zur automatischen Vervollständigung und Generierung von Code. Es basiert auf OpenAI Codex und ist auf die öffentlichen GitHub-Repositories trainiert. Als Ergebnis schlägt es Code für jede Programmiersprache vor. Die Qualität der Vorschläge hängt jedoch von der Anzahl der öffentlichen Repositories ab, die auf einer bestimmten Programmiersprache und einem bestimmten Framework basieren.

GitHub Copilot arbeitet mit Code unter Verwendung von Plugins für integrierte Entwicklungsumgebungen (IDE). Derzeit werden nur die folgenden IDEs unterstützt:

  • Visual Studio Code
  • Visual Studio
  • Neovim
  • all IDEs from JetBrains

GitHub Copilot Studie von ELEKS im Überblick

Ziel dieser Studie war es, die Auswirkungen des Einsatzes von Copilot sowohl auf die Entwicklungsgeschwindigkeit als auch auf die Qualität zu untersuchen.

Zur Durchführung der Studie wurde ein kleines Pet-Projekt initiiert, das als Testfeld für verschiedene Hypothesen diente. Mit einem Team von vier erfahrenen Entwicklern mit Kenntnissen in React, Redux, TypeScript, Jest, Vite, PHP, Symfony und Codeception begannen wir die Untersuchung und definierten unsere Ziele und Vorgehensweisen wie folgt.

Ziel Ansatz
Bewertung des Zusammenhangs zwischen der Kompetenz des Entwicklers und der Leistung beim Einsatz des Copiloten Für die Entwicklung des Backends wurde das Framework Symfony gewählt. Das Backend-Team hatte keine nennenswerte Erfahrung mit diesem Framework.
Um die Qualität der Backendlösung zu beurteilen, wurde ein Symfony-Experte für ein Code-Review hinzugezogen. Der Experte entwickelte auch eine grundlegende Projektstruktur, die über die typische Struktur hinausging und in einem großen kommerziellen Projekt verwendet wurde.
Untersuchung der Auswirkungen auf typische Entwicklungsaufgaben Vor Projektbeginn erstellten wir einen Projektstrukturplan, der die typischen Aufgaben eines Entwicklers in einem kommerziellen Projekt abdeckte. Außerdem führten wir eine Aufgabenkalkulation durch.
Untersuchung der Auswirkungen der Popularität auf Programmiersprachen und Frameworks Wir haben eine Webanwendung mit Testabdeckung entwickelt.
Bewertung der Auswirkungen auf die Dauer der Durchführung der Aufgaben Wir haben eine vorläufige Schätzung der einzelnen Aufgaben im Rahmen des Projekts vorgenommen.
Verbesserung der Effizienz der Forschung Wir haben während der täglichen Synchronisationen Sitzungen zum Wissensaustausch innerhalb des Teams abgehalten.
Prüfung der Qualität der Vorschläge Wir haben getestet, wie Copilot mit einer nicht klassischen und komplexeren Projektstruktur umgeht.

Die wichtigsten Ergebnisse der ELEKS GitHub Copilot Studien

Die von ELEKS durchgeführte Untersuchung von GitHub Copilot führte zu mehreren wichtigen Erkenntnissen, die die Möglichkeiten und Vorteile des Tools aufzeigen. Nachfolgend eine ausführlichere Beschreibung:
Bitte beachten Sie, dass die Prüfungsergebnisse auf dem subjektiven Feedback des Teams, der Beobachtung ihrer Arbeit und der Codeüberprüfung ihrer Lösungen beruhen.

Der GitHub Copilot hat zwei Betriebsarten:

  • Code-Autokomplettierungsmodus - wirkt sich fast immer positiv auf die Leistung aus.
  • Kommentarbasierter Codegenerierungsmodus mit Eingabeaufforderung - funktioniert nur gut für typische Codestrukturen. Er kann bei der Generierung von Geschäftslogik oder atypischen Lösungen kontraproduktiv sein, da die Analyse der vorgeschlagenen Codevarianten viel Zeit in Anspruch nimmt.

Die Qualität der Codevorschläge von GitHub Copilot hängt von folgenden Faktoren ab

  • Popularität des ausgewählten Technologie-Stacks in öffentlichen Repositories. Je populärer eine Technologie oder Sprache ist, desto höher ist die Qualität der Vorschläge von GitHub Copilot.
  • Code-Struktur und Architektur der Anwendung. Je typischer Ihre Lösung ist, desto effizienter sind die Vorschläge von GitHub Copilot. Dies macht sich besonders zu Beginn der Projektentwicklung bemerkbar.

Weitere Vorteile von GitHub Copilot:

  • Mit der Zeit steigt die Qualität der Codevorschläge. GitHub Copilot lernt und passt sich der Projektstruktur, dem Codestil und den typischen technischen Lösungsansätzen des Projekts an.
  • Wirkt sich positiv auf die Arbeitszufriedenheit der Entwickler aus. GitHub Copilot übernimmt einen Teil der typischen und langweiligen Routineaufgaben. Das Verhältnis zwischen der Entwicklung interessanter Aufgaben und Routineaufgaben verändert sich, was den Komfort für Entwickler erhöht.

Allgemeine Ergebnisse des Teams:

  • Das Tool hat keine Auswirkungen auf die Codequalität gezeigt, weder positiv noch negativ. Wir sind der Meinung, dass das Tool den Code-Review-Prozess, das manuelle Testen des Codes durch den Entwickler, die Durchführung von Autotests, Sicherheitstests usw. derzeit nicht ersetzen kann.
  • Die Effizienz hängt von der Kompetenz des Entwicklers in Bezug auf den jeweiligen Technologie-Stack ab. Je besser die Fähigkeiten des Entwicklers sind, desto effektiver ist das Werkzeug.
  • Ob GitHub Copilot dazu beiträgt, neue Technologien zu erlernen, ist fraglich.
  • Das Team hatte den Eindruck, dass die Codevorschläge besser werden, wenn alle codebezogenen Dateien in der IDE geöffnet sind.
  • Wie jedes andere Tool erfordert auch GitHub Copilot gewisse Fähigkeiten. Je mehr das Team übte, desto positiver war das Feedback.
  • Das Feedback zur Leistungssteigerung variiert je nach technischem Stack, Kompetenzniveau des Spezialisten und subjektiven Gründen.Die durchschnittliche Produktivitätssteigerung der Teammitglieder liegt bei 5-10%.

Während des Projekts stieß das Team auf mehrere Fehler in GitHub Copilot.Zum Beispiel schlug Copilot Code vor, der auf dem Code eines anderen Projekts basierte, das in einem anderen IDE-Fenster geöffnet war. Der vorgeschlagene Code war syntaktisch falsch. Copilot kollidierte mit den Funktionen einiger (integrierter oder von Drittanbietern hinzugefügter) Plugins, die ebenfalls über eine Autovervollständigungsfunktion für Code verfügen.

Fazit

GitHub Copilot ist ein leistungsstarkes Tool, das sich positiv auf die Entwicklungsgeschwindigkeit und die Arbeitszufriedenheit der Entwickler auswirkt. Wie jedes andere Entwicklungswerkzeug braucht es Zeit, um es zu beherrschen.

Im Moment kostet eine monatliche Lizenz nur $10, während der Business Plan $19 pro Monat kostet. GitHub Copilot wird sich zweifellos finanziell lohnen, wenn es in Projekten eingesetzt wird, insbesondere für Spezialisten auf mittlerem und höherem Niveau.

Das Team prognostiziert, dass mit zunehmender Erfahrung mit GitHub Copilot die Entwicklungsgeschwindigkeit um 5 bis 25 % gesteigert werden kann, je nach Popularität der Technologie und Kompetenzniveau des Entwicklers. GitHub Copilot wird die Entwicklung garantiert nicht verlangsamen, da die Entwickler nach und nach das Know-how und das Verständnis dafür entwickeln, wann es vorteilhaft ist, das Tool zu verwenden und wann nicht.

Zusammenfassend lässt sich sagen, dass die Auswirkungen von KI in der Softwareentwicklung, die durch Tools wie GitHub Copilot veranschaulicht werden, unbestreitbar sind. Insgesamt können Tools wie GitHub Copilot einen Entwickler nicht ersetzen, aber sie sind ein wertvolles Werkzeug, um den Komfort und die Produktivität von Entwicklern zu erhöhen und zur Weiterentwicklung der Softwareentwicklung in einer zunehmend von KI geprägten Welt beizutragen.

Haben Sie Fragen?
Sprechen Sie mit Experten
Kontakt
  • Wir benötigen Ihren Namen für die korrekte Ansprache
  • Wir benötigen Ihre Telefonnummer, um Sie hinsichtlich Ihrer Anfrage kontaktieren zu können
  • Wir benötigen Ihren Standort, um entscheiden zu können, welches unserer Büros für Sie zuständig ist
  • Wir benötigen Ihren Unternehmensnamen als Hintergrundinformation, um zu ermitteln, wie wir Ihnen helfen können
  • Akzeptierte Dateitypen: jpg, gif, png, pdf, doc, docx, xls, xlsx, ppt, pptx, png, Max. Dateigröße: 10 MB.
(jpg, gif, png, pdf, doc, docx, xls, xlsx, ppt, pptx, PNG)

Wir speichern Ihre Daten in unserem CRM-System, um Sie kontaktieren zu können. Für weitere Informationen beachten Sie bitte unsere Datenschutzrichtlinie
  • Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Wir sind zufrieden mit dem Know-how sowie der Arbeit, die ELEKS für uns geleistet hat. Wir haben zum Produkt, über dessen Design, den Funktionen sowie der Benutzerfreundlichkeit hervorragendes Feedback erhalten. Insgesamt waren wir sehr zufrieden mit der Zusammenarbeit mit ELEKS, und wir können uns ganz sicher vorstellen, weitere Projekte mit ihnen durchzuführen.

corentine piette
Corentine Piette
Manager, appygas