Improving software development workflows using generative AI

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorLehikoinen, Miikka
dc.contributor.authorKähkönen, Samu
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorRintanen, Jussi
dc.date.accessioned2024-08-25T17:14:21Z
dc.date.available2024-08-25T17:14:21Z
dc.date.issued2024-08-19
dc.description.abstractThe rapid advancement of generative artificial intelligence, particularly large language models, has introduced new possibilities for enhancing software engineering processes. This thesis investigates the integration of generative AI into three key areas of software development: unit test generation, code review, and code documentation. The primary goal is to evaluate the potential of generative AI to improve developer productivity by automating repetitive and time-consuming tasks. The research methodology includes a comprehensive literature review on the history and current state of artifical intelligence, and empirical experiments to assess the effectiveness of LLMs in practical software engineering tasks. The study compares the performance of AI-generated unit tests with existing manual tests using coverage metrics, evaluates AI-assisted code review tools against a dataset of deliberately introduced bugs, and examines AI-generated code documentation through expert analysis. Findings indicate that LLMs, especially GPT-4, are indeed capable of succeeding in these tasks, and can be used to streamline software development. However, they also underscores the current limitations of LLMs, such as the need for human oversight and the difficulty in handling complex code structures.en
dc.description.abstractGeneratiivisen tekoälyn, etenkin suurten kielimallien kehitys on mahdollistanut uusia tapoja ohjelmistokehityksen prosessien parantamiseksi. Tämä diplomityö tutkii generatiivisen tekoälyn integroimista kolmeen ohjelmistokehityksen osa-alueeseen: yksikkötestien luomiseen, koodin katselmointiin ja koodin dokumentaatioon. Työn ensisijainen päämäärä on arvioida generatiivisen tekoälyn potentiaalia nostaa ohjelmistokehittäjien tuottavuutta automatisoimalla toistuvia ja aikaavieviä tehtäviä. Tutkimus sisältää kattavan kirjallisuuskatsauksen tekoälyn historiaan ja nykytilaan, sekä empiirisia kokeita, joilla arvioidaan tekoälyn tehokkuutta käytännön ohjelmistokehityksessä. Tutkimus vertaa tekoälyn luomien yksikkötestien laatua olemassaoleviin yksikkötesteihin käyttäen kattavuusmetriikoita, arvioi tekoälyavusteisen koodikatselmointityökalun suorituskykyä käyttämällä tutkimusta varten luotua virhetietojoukkoa, sekä arvostelee tekoälyn luomaa koodin dokumentaatiota asiantuntijanalyysin avulla. Tulokset osoittavat, että suuret kielimallit, etenkin GPT-4, ovat kykeneviä suorittamaan näitä tehtäviä, ja siten niitä voidaan käyttää tehostamaan ohjelmistokehitystä. Työ kuitenkin myös korostaa nykyteknologian rajoituksia, kuten tarvetta ihmisen työpanokselle puutteellisten tulosten korjaamisessa, sekä haasteita monimutkaisten ohjelmistorakenteiden ymmärtämisessä.fi
dc.format.extent51
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/130155
dc.identifier.urnURN:NBN:fi:aalto-202408255716
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorComputer Sciencefi
dc.programme.mcodeSCI3042fi
dc.subject.keywordgenerative artificial intelligenceen
dc.subject.keywordlarge language modelen
dc.subject.keywordsoftware engineeringen
dc.subject.keywordsoftware developmenten
dc.titleImproving software development workflows using generative AIen
dc.titleOhjelmistokehityksen työnkulkujen parantaminen generatiivisen tekoälyn avullafi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
master_Kähkönen_Samu_2024.pdf
Size:
1.49 MB
Format:
Adobe Portable Document Format