Bachelorarbeit: Generative KI in der Softwareentwicklung – Evaluation von KI-basierten Entwicklungstools

Mein Weg zu basecom
Schon während des Studiums habe ich mir Gedanken gemacht, wie es nach dem Studium weitergehen soll. Dabei wurde mir relativ schnell klar, dass ich die Bachelorarbeit auch nutzen möchte, um einen potenziellen Arbeitgeber kennenzulernen und somit die Chance auf einen nahtlosen Berufseinstieg zu haben.
Bereits während meines Studiums habe ich von Kommilitoninnen und Kommilitonen von basecom von der positiven Unternehmenskultur gehört. Nachdem ich mich dann näher informiert habe, war für mich relativ schnell klar, dass ich meine Bachelorarbeit in diesem Unternehmen schreiben möchte.
Einleitung
In den letzten Jahren ist das Thema der KI-gestützten Programmierung immer mehr in den Vordergrund gerückt. Damit wächst auch die Zahl der KI-basierten Entwicklungstools. Wie gut diese die Entwickler*innen in der Realität unterstützen können und welche Risiken bestehen, ist oft unklar. Dies liegt unter anderem daran, dass die Entwicklungstools nicht unter realen Bedingungen getestet werden. Zudem weisen viele dieser Entwicklungswerkzeuge nicht auf die damit verbundenen Risiken hin.
Ziel meiner Arbeit war es, in einem ersten Schritt den Markt zu analysieren und herauszufinden, welche Entwicklungstools das größte Potenzial bieten. Anschließend wurden ausgewählte Entwicklungstools anhand von möglichst realistischen Anwendungsfällen verglichen und auf Konsistenz geprüft. Basierend auf den Ergebnissen wurde mit einem Entwicklungstool ein User-Test durchgeführt. Auf diese Weise konnte der potenzielle Mehrwert bei der Entwicklung mit diesem Entwicklungstool ermittelt werden. Dabei wurde vor allem auf Produktivität und Benutzerzufriedenheit geachtet.
Vorgehen
Im vorangegangenen Projektbericht wurde eine Marktanalyse durchgeführt, in der Informationen über am Markt verfügbare KI-basierte Entwicklungstools gesammelt wurden. Die dabei gefundenen Entwicklungstools wurden nach ihrem Fokus in die entsprechenden Bereiche der Programmierung eingeteilt. Ziel dieser Marktanalyse war es, einen Überblick über den Markt zu erhalten. Dies wurde anhand der grundlegenden Eigenschaften der Entwicklungstools, zu denen unter anderem die unterstützten Programmiersprachen, IDE’s und die Kosten der Entwicklungstools gehören, durchgeführt.
Während der Bachelorarbeit selbst habe ich mich dann auf die KI-gestützte Quellcodegenerierung innerhalb der IDE beschränkt. Die aufgrund der Marktanalyse ausgewählten Entwicklungstools sind GItHub Copilot, Amazon CodeWhisperer und Tabnine. Um einen Vergleichs-, Konsistenz- und User-Test durchführen zu können, wurden Metriken definiert, um so messbare Ergebnisse zu erhalten. Mithilfe von Recherchen sowohl in Papers als auch innerhalb von basecom wurden Testszenarien für die festgelegten Metriken entwickelt.
Um die Konsistenz der Entwicklungstools zu überprüfen, wurden jeweils zwei Aufgaben in fünf Iterationen bearbeitet und ausgewertet.
In drei weiteren Aufgaben wurden die Entwicklungstools direkt miteinander verglichen, indem Beispieldaten, eine Symfony-spezifische Form und eine Repository-Funktion generiert wurden. Diese wurden anhand der benötigten Änderungsreichweite und der Anzahl der benötigten Tastenanschläge bewertet.
Für die Betrachtung der Nutzerzufriedenheit wurde ein User-Test durchgeführt, der von einem Teil mit und einem Teil ohne KI-basiertes Entwicklungstool bearbeitet wurde. Zusätzlich wurde von jeder Testperson ein Fragebogen über den Testablauf und den dabei gewonnenen Eindruck ausgefüllt.
Ergebnis
Die Auswertung des Konsistenz- und Vergleichstests ergab, dass GitHub Copilot zu diesem Zeitpunkt das vielversprechendste der getesteten Entwicklungstools war. Aus diesem Grund wurde auch der User-Test mit diesem Entwicklungstool durchgeführt.
Der User-Test zeigte, dass die Testpersonen ohne Entwicklungstool im Durchschnitt mehr als doppelt so viel Zeit für die Recherche benötigten, um die Aufgaben zu bearbeiten. Die Testpersonen mit GitHub Copilot waren im Durchschnitt 11,39 % schneller bei der Bearbeitung der Aufgaben.
Die Testpersonen mit GitHub Copilot fanden die Vorschläge verständlich und passend zu ihrem Vorgehen und gaben an, das Entwicklungstool daher gut in ihren Programmierstil integrieren zu können.
Der User-Test zeigte auch, dass sich einige Testpersonen dazu verleiten ließen, den Vorschlag des Entwicklungstools anzunehmen, ohne sich den Quellcode genauer anzuschauen. Ebenso wurde angemerkt, dass trotz eines Entwicklungstools die Recherche in der Dokumentation nicht entfällt. Dies zeigt, dass sowohl der Umgang mit dem generierten Quellcode als auch die Ziele, die mit dem Einsatz solcher KI-basierter Entwicklungstools verfolgt werden, genauer vermittelt werden sollten.
Wie geht es jetzt weiter?
Da mir die Zeit bei basecom während meiner Bachelorarbeit sehr gefallen hat, freut es mich, dass ich bei basecom bleibe und hier meinen Berufseinstieg mache. Zurzeit befinde ich mich noch in der Einarbeitung in der Academy und werde anschließend in die Business Unit MACH wechseln.
Wenn auch du Interesse daran hast, deine Bachelorarbeit bei basecom zu schreiben, dann informiere dich auf unserer Karriereseite www.wirsprecheninter.net. Wir freuen uns auf deine Bewerbung!