Stage-oe-small.jpg

Thema4834

Aus Aifbportal
Wechseln zu:Navigation, Suche



Testen mit GPT – automatische Testgenerierung mit einem Transformernetzwerk




Informationen zur Arbeit

Abschlussarbeitstyp: Bachelor, Master
Betreuer: Demian Frister, Andreas Oberweis
Forschungsgruppe: Betriebliche Informationssysteme

Archivierungsnummer: 4834
Abschlussarbeitsstatus: Offen
Beginn: 21. November 2022
Abgabe: unbekannt

Weitere Informationen

Beschreibung:

Für das Testen von Software existieren verschiedene Testarten, die je nach Art der Software und ihren Anforderungen ausgewählt werden und unterschiedliche Testziele verfolgen. Beispielsweise erfordert das Testen der Performance einer Anwendung eine andere Testmethode als das Testen der Benutzbarkeit oder Robustheit.

Generell basiert das Testen mobiler Applikationen auf einem hohen Anteil an manuellen Tests, welche im Vergleich zu automatisierten Testverfahren ineffizient und kostspielig sein können (Mao, Harman et al. 2017). Bei manuellen Tests muss für jede Aktion oder jedes Oberflächenelement entsprechender Programmcode geschrieben werden. Gerade für das Testen der graphischen Oberfläche steigt die Anzahl der möglichen Testfälle und Zustände mit jedem weiteren Oberflächenelement (Memon, Pollack et al. 1999).

Moderne Methoden des Maschinellen Lernens ermöglichen es SoftwareentwicklerInnen ihre Zeit für kreativere Arbeiten einzusetzen. Beispielsweise durch den Einsatz eines Transformernetzwerks wie GPT-3. GPT ist ein Sprachmodell, das tiefe neuronale Netze verwendet, um natürlichen Text zu generieren. Dabei wurde GPT auf großen Datenmengen trainiert, die zu einem Teil aus Codebeispielen beispielsweise von Stackoverflow bestehen. Dadurch kann GPT aus menschenlesbaren Anweisungen oder Codebeispielen weiteren Code erstellen.

Aufgaben:

Für diese Abschlussarbeit soll mit GPT-Neo (einem Open Source Transformernetzwerk vergleichbar mit GPT-3) analysiert werden, ob GPT in der Lage ist Tests selbständig zum dazugehörigen Code zu erstellen. Ziel der Abschlussarbeit ist es eine Softwareunterstützung zu erstellen und zu evaluieren, die zu einer Android Applikation die dazugehörigen Unit- und UI-Tests schreibt. Verschiedene Möglichkeiten der Implementierung, wie beispielsweise eine auf Anweisungen basierende, sind denkbar. Die Fähigkeiten von GPT Tests zu erstellen sollen evaluiert werden und mit manuellen Tests verglichen werden.

Nützliche Kenntnisse:

- Erfahrung mit Softwaretests

- Erfahrung mit Android

Bitte bewerben Sie sich unter folgendem Link: https://portal.wiwi.kit.edu/forms/form/Bewerbung_Abschlussarbeit_AIFB-BIS