GitHub Copilot and ChatGPT comparison in improving software development productivity
Kongas, Kitta (2024)
Diplomityö
Kongas, Kitta
2024
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2024110689591
https://urn.fi/URN:NBN:fi-fe2024110689591
Tiivistelmä
Generative AI tools have the potential to improve software development productivity. Many generative AI assistants are available that can help programmers solve their tasks faster and with less effort. Development productivity is an important aspect of software engineering. Productivity and satisfaction of developers are closely related. This thesis aims to compare two different types of generative AI tools: GitHub Copilot and ChatGPT, in improving software development productivity. GitHub Copilot is a tool connected to IDE and ChatGPT is a chatbot based on natural language interactions. The study was done by collecting information from literature and performing a case study at a company. This background information was viewed through the theoretical lenses of affordance theory and software development productivity theory. The result of the study was that GitHub Copilot is best suited to be used in acceleration mode when the developer already understands the problem to be solved. ChatGPT can be used in the ideation and architectural design phase in addition to programming tasks. Which tool brings the best benefits is context-dependent and the willingness and ability of the developer to use a specific tool is important for obtaining the productivity benefits. Including measurements for self-perceived productivity improvements alongside automatic measurements such as acceptance rate creates a more complete picture of the productivity improvements from generative AI assistants. Generatiivisella tekoälyllä on hyvät mahdollisuudet parantaa ohjelmistokehityksen tuottavuutta. Tarjolla on useita työkaluja, jotka voivat auttaa ohjelmoijia ratkaisemaan tehtävänsä nopeammin ja vaivattomammin. Kehityksen tuottavuus on tärkeä osa ohjelmistokehitystä. Tuottavuus ja kehittäjien tyytyväisyys ovat läheisessä suhteessa toisiinsa. Tämän työn tarkoituksena on vertailla kahta erityppistä GenAI -työkalua GitHub Copilotia ja ChatGPT:tä tuottavuuden parantamisessa. GitHub Copilot on IDEssä mukana oleva ohjelmoijan työkalu, kun taas ChatGPT on chatbot, jonka kanssa käyttäjä keskustelee luonnollisella kielellä. Tutkimus tehtiin kirjallisuuskatsauksella ja suorittamalla tapaustutkimus valitussa yrityksessä. Tätä tietoa tarkasteltiin teoreettisia viitekehyksiä kuten ohjelmistokehityksen tuottavuuskehityksen teoriaa vasten. Tutkimuksen lopputulos oli, että GitHub Copilot soveltuu parhaiten kiihdytysvaiheesen, kun kehittäjä ymmärtää ratkaistavan ongelman. ChatGPT soveltuu ohjelmointitehtävien lisäksi ideointiin ja arkkitehtuurisuunnittelun vaiheisiin. Työkalun tuomat hyödyt riippuvat kontekstista ja kehittäjän halu tärkeä kyky käyttää työkalua on tärkeää tuottavuushyötyjen saavuttamiseksi. Mittareina tuottavuuden parantamisessa kannattaa hyödyntää automaattimittausten lisäksi myös muita mittareita, kuten kehittäjien itse kokemaa tuottavuuden parantumista.