Generatiiviset tekoälytyökalut ohjelmistokehityksessä
Vartiainen, Santtu-Pekka (2024)
Vartiainen, Santtu-Pekka
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202401141398
https://urn.fi/URN:NBN:fi:amk-202401141398
Tiivistelmä
Tekoälyn edistys on ollut huimaa viime vuosien aikana ja tekoäly on levinnyt osaksi monenlaisia laitteita ja sovelluksia. Myös ohjelmistokehityksen alalle on ilmestynyt tekoälytyökaluja helpottamaan ja tehostamaan ohjelmistokehittäjien työtä. Tällaiset tekoälytyökalut pystyvät generoimaan koodia määrittelyn perusteella, opastamaan ohjelmistokehittäjää ongelmien kanssa ja tarjoamaan automaattista koodintäydennystä koodia kirjoitettaessa. Opinnäytetyön toimeksiantajalla, Ponsse Oyj:llä, ollaan kiinnostuneita tekoälytyökaluista ja niiden tarjoamista mahdollisuuksista tehostaa ohjelmistokehitysprosesseja. Opinnäytetyössä perehdytään tekoälyn historiaan ja teoriaan, esitellään koodin generoinnin käytetyimmät tekoälytyökalut, tutustutaan tieteellisten tutkimusten tuloksiin kyseisten työkalun hyödyistä ja toteutetaan käytännön kokeilu Github Copilot -työkalulla.
Kokeilu toteutettiin toimeksiantajan projektissa valikoidulla testiryhmällä kuukauden mittaisella ajanjaksolla. Testiryhmän jäsenille kerrottiin työkalun ominaisuuksista ja he pääsivät tutustumaan työkalun käyttöön opastusvideoiden avulla. Testiryhmän jäsenet työskentelivät projektissa eri rooleissa: frontend-, backend-, DevOps- sekä testiautomaatiokehittäjinä. kokeiluajanjakson jälkeen testiryhmän jäsenille lähetettiin kysely, jossa selvitettiin, kuinka käyttäjät kokivat työkalun hyödyllisyyden, mitä työkalussa pidettiin toimivana ja mitä siinä tulisi eniten parantaa.
Opinnäytetyön tuloksena voidaan todeta Github Copilot -tekoälytyökalun käytön hyödyttävän ohjelmistokehitystä. Github Copilot nopeuttaa ohjelmointia sekä tieteellisen tutkimuksen, että käytännön kyselytutkimuksen perusteella. Käytännön kyselytutkimuksen perusteella Github Copilotin käytön arvioidaan nopeuttavan ohjelmointia ja parantavan ohjelmistokehittäjän tuottavuutta 20–40 %. Mitä tulee Github Copilot -työkalun generoiman koodin laatuun, niin kyselytutkimus osoittaa, että generoitua koodia voidaan pitää toimivana ja sekä kyselytutkimuksen, että tieteellisen tutkimuksen perusteella voidaan osoittaa, että generoitua koodia voidaan pitää yksinkertaisena ja ymmärrettävänä. Advances in artificial intelligence (AI) have progressed rapidly in recent years, and this technology has spread to a wide range of devices and applications. In the field of software development, AI tools have emerged to simplify and increase efficiency in the work of developers. These tools can generate code based on specifications, guide developers through problems, and provide automatic code completion while coding. The focus of this thesis was on AI tools and their potential to enhance software development processes for a client, Ponsse Oyj. The thesis covered the historical and theoretical background of AI and highlighted the most frequently utilized AI tools for code generation. The study also showcased scientific research findings on the advantages of such tools and included a practical experiment involving Github Copilot.
The experiment was conducted within the client's project, with a designated test group for a duration of one month. The test group members were educated about the tool's features and got familiar with it via instructional videos. The members of the test group had varied roles in the project, such as frontend, backend, DevOps, and test automation developers. Following the completion of the trial period, a survey was distributed among the test group participants to collect feedback on the perceived effectiveness of the tool, as well as identifying any areas that were successful and those in need of improvement.
As a result, it was concluded that the Github Copilot AI tool can benefit software development by speeding up programming and improving software developer productivity. Scientific research findings and the practical survey supported this claim. Based on the survey it was estimated that the use of Github Copilot can increase programming speed and productivity by 20-40 %. Regarding the quality of the code generated by the Github Copilot tool, the survey showed that the generated code can be considered functional, and both the survey and the research findings showed that the generated code can be considered simple and understandable.
Kokeilu toteutettiin toimeksiantajan projektissa valikoidulla testiryhmällä kuukauden mittaisella ajanjaksolla. Testiryhmän jäsenille kerrottiin työkalun ominaisuuksista ja he pääsivät tutustumaan työkalun käyttöön opastusvideoiden avulla. Testiryhmän jäsenet työskentelivät projektissa eri rooleissa: frontend-, backend-, DevOps- sekä testiautomaatiokehittäjinä. kokeiluajanjakson jälkeen testiryhmän jäsenille lähetettiin kysely, jossa selvitettiin, kuinka käyttäjät kokivat työkalun hyödyllisyyden, mitä työkalussa pidettiin toimivana ja mitä siinä tulisi eniten parantaa.
Opinnäytetyön tuloksena voidaan todeta Github Copilot -tekoälytyökalun käytön hyödyttävän ohjelmistokehitystä. Github Copilot nopeuttaa ohjelmointia sekä tieteellisen tutkimuksen, että käytännön kyselytutkimuksen perusteella. Käytännön kyselytutkimuksen perusteella Github Copilotin käytön arvioidaan nopeuttavan ohjelmointia ja parantavan ohjelmistokehittäjän tuottavuutta 20–40 %. Mitä tulee Github Copilot -työkalun generoiman koodin laatuun, niin kyselytutkimus osoittaa, että generoitua koodia voidaan pitää toimivana ja sekä kyselytutkimuksen, että tieteellisen tutkimuksen perusteella voidaan osoittaa, että generoitua koodia voidaan pitää yksinkertaisena ja ymmärrettävänä.
The experiment was conducted within the client's project, with a designated test group for a duration of one month. The test group members were educated about the tool's features and got familiar with it via instructional videos. The members of the test group had varied roles in the project, such as frontend, backend, DevOps, and test automation developers. Following the completion of the trial period, a survey was distributed among the test group participants to collect feedback on the perceived effectiveness of the tool, as well as identifying any areas that were successful and those in need of improvement.
As a result, it was concluded that the Github Copilot AI tool can benefit software development by speeding up programming and improving software developer productivity. Scientific research findings and the practical survey supported this claim. Based on the survey it was estimated that the use of Github Copilot can increase programming speed and productivity by 20-40 %. Regarding the quality of the code generated by the Github Copilot tool, the survey showed that the generated code can be considered functional, and both the survey and the research findings showed that the generated code can be considered simple and understandable.