This thesis explores the integration of generative AI and large language models (LLMs) into software documentation processes, assessing their impact on developer productivity. The research focuses on the development of a documentation system powered by an LLM, which automates the creation and retrieval of software documentation. The study employs a controlled experiment followed by a survey involving software developers to quantify changes in productivity through various metrics such as effectiveness, velocity, and quality of documentation generated by the system. Background: The increasing complexity of software development necessitates efficient documentation systems. Traditional methods, often manual and time-consuming, struggle to keep pace with the dynamics of software development, potentially leading to outdated and inadequate documentation. Objectives: To investigate whether a documentation system powered by an LLM can enhance developers’ productivity in software documentation tasks by assisting developers with the creation of development documentation and facilitating the retrieval of relevant information. Method: A controlled experiment followed by a survey were conducted, wherein participants were tasked with generating and using documentation through both manual and LLM-assisted methods. The effectiveness, velocity, and quality of the documentation were measured and compared. Results: The findings indicate that the LLM-powered documentation system significantly enhances developer productivity. Developers using the system were able to produce and comprehend documentation more quickly and accurately than those using the manual method. Furthermore, the quality of the documentation, assessed in terms of comprehensibility, completeness, and readability, was consistently higher when generated by the LLM system. Conclusions: The integration of LLMs into software documentation processes can significantly enhance developer productivity by automating routine tasks and improving the quality of documentation. This supports software developers in maintaining current projects and also assists in the onboarding process of new team members by providing easier access to necessary documentation. / Denna avhandling utforskar integrationen av generativ AI och stora språkmodeller (LLM) i processer för mjukvarudokumentation, och bedömer deras inverkan på utvecklares produktivitet. Forskningen fokuserar på utvecklingen av ett dokumentationssystem drivet av en LLM, som automatiserar skapandet och hämtningen av mjukvarudokumentation. Studien använder ett kontrollerat experiment följt av en enkät som involverar professionella mjukvaruutvecklare för att kvantifiera förändringar i produktivitet genom olika mått som effektivitet, hastighet och kvalitet på dokumentation genererad av systemet. Bakgrund: Den ökande komplexiteten i mjukvaruutveckling kräver effektiva dokumentationssystem. Traditionella metoder, ofta manuella och tidskrävande, har svårt att hålla jämna steg med dynamiken i mjukvaruutveckling, vilket potentiellt kan leda till föråldrad och otillräcklig dokumentation. Syfte: Att undersöka om ett dokumentationssystem drivet av en LLM kan förbättra utvecklares produktivitet i uppgifter relaterade till mjukvarudokumentation genom att assistera utvecklare med att skapa utvecklingsdokumentation och underlätta hämtningen av relevant information. Metod: Ett kontrollerat experiment följt av en enkät genomfördes, där deltagarna hade i uppgift att generera och använda dokumentation genom både manuella och LLM-assisterade metoder. Effektiviteten, hastigheten och kvaliteten på dokumentationen mättes och jämfördes. Resultat: Resultaten visar att dokumentationssystemet drivet av LLM väsentligen förbättrar utvecklarnas produktivitet. Utvecklare som använde systemet kunde producera och förstå dokumentation snabbare och mer exakt än de som använde den manuella metoden. Vidare var kvaliteten på dokumentationen, bedömd i termer av begriplighet, fullständighet och läsbarhet, konsekvent högre när den genererades av LLM-systemet. Slutsatser: Integrationen av LLM i mjukvarudokumentationsprocesser kan väsentligen förbättra utvecklarnas produktivitet genom att automatisera rutinuppgifter och förbättra kvaliteten på dokumentation. Detta stöder inte bara mjukvaruutvecklare i att underhålla pågående projekt utan hjälper också till med introduktionen av nya teammedlemmar genom att ge enklare tillgång till nödvändig dokumentation.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-26303 |
Date | January 2024 |
Creators | Alrefai, Adam, Alsadi, Mahmoud |
Publisher | Blekinge Tekniska Högskola, Institutionen för programvaruteknik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0022 seconds