Uppsats
Testdriven utveckling och stora språkmodeller: Enhetstester som prompt till ChatGPT att generera kod
Kandidat-uppsats
KTH/Skolan för elektroteknik och datavetenskap (EECS)
Publicerad: 2024
Språk: Svenska
Sammanfattning
Artificiell intelligens (AI) har fått en ökad uppmärksamhet inom mjukvaruutveckling med automatiserad kodgenerering som ett ständigt eftertraktat mål. Denna rapport behandlar en specifik utmaning med generativa AI-modeller som ChatGPT, som i sig är icke-deterministiska: Även med identiska parameterinställningar och instruktioner i prompten kan svaren från GPT-modellen variera mellan olika förfrågningar. Testdriven utveckling (TDD) är en etablerad metod inom mjukvaruutveckling där tester skrivs tidigt i processen utifrån specifikationskrav, och kod implementeras för att möta dessa tester. För att använda genererad programkod i en TDD-miljö krävs en uppfattning om dess tillförlitlighet. Ett kvantitativt experiment utformades för att utforska GPT-modellens förmåga att generera funktionell Java-programkod när den promptats med enhetstester med full branchtäckning och publikt gränssnitt. Javametoder med varierande kodkomplexitet valdes ut. Ett system för automatiska API-anrop till OpenAi:s GPT-modell implementerades. Systemet kompilerade den generade koden och körde dess motsvarande testsvit. Statisk analys utfördes för att identifiera potentiella buggmönster i den genererade källkoden. Experimentet upprepades för att samla in mätpunkter för statistisk analys med både GPT-3.5 och GPT-4. Resultaten visar att GPT-4 uppnådde en högre andel av lyckade enhetstester jämfört med GPT-3.5. Däremot uppvisade GPT-4 fler mönster för potentiella buggar i den statiska analysen och orsakade fler syntaktiska fel och avvikelser från förväntade metodsignaturer. Ingen uppenbar relation mellan uppmätta värden och kodkomplexitet fastställdes för metoder med låg komplexitet medan en högre komplexitet ledde till fler misslyckade enhetstester och syntaktiska fel, särskilt med GPT-4.
Information
- Författare
- Lagerhult, Patricia, O’Flaherty, Kevin
- Lärosäte / institution
- KTH/Skolan för elektroteknik och datavetenskap (EECS)
- Publiceringsdatum
- 2024
- Uppsatstyp
- Kandidat-uppsats
- Språk
- Svenska
Utforska vidare
Liknande uppsatser
Uppsatser med liknande ämnen och nyckelord.
Yrkesexamen på avancerad nivå, Uppsala universitet/Avdelningen för systemteknik
Vigholm, Albin
Publicerad: 2026
Kandidat-uppsats, Jönköping University/Tekniska Högskolan
Rönnqvist, Emilia, Skoogh, Lovisa
Publicerad: 2026
Kandidat-uppsats, Högskolan i Halmstad/Akademin för informationsteknologi
Fawal, Raghad
Publicerad: 2026
Kandidat-uppsats, Mälardalens universitet/Akademin för ekonomi, samhälle och teknik
Sauleskalne, Patricija, Tigerbacke, Fideli
Publicerad: 2026
Kandidat-uppsats, Karlstads universitet/Handelshögskolan (from 2013)
Alvenborg, Tilda
Publicerad: 2026
Yrkesexamen på avancerad nivå, Luleå tekniska universitet/Institutionen för ekonomi, teknik, konst och samhälle
Åström, Tuva, Nilsson, Matilda
Publicerad: 2026