E-commerce store development using GitHub Artificial Intelligence coding assistant
Autor
Logins, Kārlis Gustavs
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Pudāne, Māra
Datum
2023Metadata
Zur LanganzeigeZusammenfassung
Attīstoties mākslīgajam intelektam un mašīnu dziļās mācīšanās zinātnei, tiek atklāti aizvien jauni mākslīgā intelekta pielietojumi. Viens no pielietojumiem ir to izmantošana datorizētos programmatūras inženierijas rīkos. Pavisam nesen šie datorizētie programmatūras inženierijas rīki ir kļuvuši vēl daudzpusīgāki, izmantojot cilvēku valodas apstrādi, lai ģenerētu ieteikumus programmēšanas koda veidā un palīdzētu izstrādātājiem uzlabot sava darba efektivitāti. Gadu no gada pieaug arī investīcijas informācijas tehnoloģijās, un uzņēmumi turpina meklēt jaunas investīciju iespējas, lai palielinātu peļņu. Pieaugošā atkarība no informācijas tehnoloģijām un manīgajām biznesa vajadzībām ir radījusi nepieciešamību pēc ātrākas programmatūru un tīmekļa izstrādes. Tas savukārt ir radījis pieprasījumu pēc rīkiem, kuri spētu uzlabot izstrādes ātrumu. Mākslīgā intelekta kodēšanas palīga GitHub Copilot izmantošana potenciāli var dot ieguvumu uzņēmumiem, kas ir gatavi ieguldīt savā izstrādes procesu attīstīšanā un efektivitātes paaugstināšanā. Līdz ar to ir nepieciešams izvērtēt šī rīka efektivitāti programmatūru izstrādes procesā, lai izprastu šāda ieguldījuma potenciālo atdevi. Šis rīks ir salīdzinoši jauns un pētījumi par to līdz šim nav veikti, tādēļ šī darba mērķis ir noskaidrot vai GitHub Copilot var uzlabot tīmekļa izstrādes ātrumu. Kā arī tiek vērtēta atšķirība vidējā ietaupītajā laikā izmantojot GitHub Copilot starp jaunākā, vidējā un vecākā līmeņa izstrādātājiem. Pētījuma rezultāti liecina, ka GitHub Copilot var samazināt izstrādes laiku par vidēji 45%. Taču netika konstatēta statistiski nozīmīga vidējā ietaupītā laika atšķirība starp darba stāža līmeņiem un GitHub Copilot izmantošanu. Pētījums sagatavots angļu valodā uz 42 lapaspusēm. Tajā ir iekļautas 4 tabulas, un 4 figūras. Pētījumā ir 35 atsauces no citu autoru darbiem. Atslēgas vārdi: GitHub Copilot, mākslīgais intelekts, darba stāžs, tīmekļa izstrāde As artificial intelligence and deep learning science improve, new applications of artificial intelligence are discovered. One such application is computer-aided software engineering tools. Just recently, computer-aided software engineering tools have become more powerful by applying natural language processing fine-tuned for producing extensive code suggestions to help developers to improve their productivity. One such example is GitHub Copilot. As investments in information technology also increase year by year, companies are looking for new investment opportunities in order to maximize profits. The ever-growing reliance on information technology and business needs has led to an increasing need for accelerated software and web development, which in turn, has led to increasing demand for tools that can increase the performance of developers. The artificial intelligence coding assistant GitHub Copilot has shown promise in this regard, with potential benefits for companies looking to invest in their development workflow and efficiency. It is necessary to evaluate such tools as GitHub Copilot in order to understand the impact on the company of such an investment. However, as this tool is relatively new, no such research has been done. Therefore, this study investigates whether GitHub Copilot can increase the speed of web development. Moreover, it is also necessary to evaluate whether there is a difference in time savings between junior, medium-level, and senior developers in order to make the investment decision about GitHub Copilot more accurate and cost-beneficial. To evaluate if GitHub Copilot can increase the speed of web developers and what are the time savings between seniority groups, an experiment was conducted. The participants of this study were web developers with previous knowledge in React.js at various seniority levels. In total, 18 participants completed all surveys and both programming tasks. The experiment consisted of three questionnaires where information such as the seniority of the participant, previous knowledge, and previous experiences working with GitHub Copilot was gathered before the experiment as well as opinions and thoughts about GitHub Copilot after each task separately. For programming task 1, participants were asked to build a simple to-do list app. However, for programming task 2, participants were asked to build a simple weather app that would be using OpenWeatherMap API to fetch data about the weather for five cities. Both tasks required to be written in React.js and JavaScript, and they did not require adding styling to the components. The focus of the research was solely to evaluate the impact of GitHub Copilot on the logic coding for the apps. The study results indicated that GitHub Copilot decreased the time spent on development by 45% for all seniority groups combined, proving that GitHub Copilot can increase the speed of web development. Furthermore, the descriptive analysis showed that in one of the tasks, junior developers had the largest average time savings when using GitHub Copilot, but in the second task, medium-level developers showed the largest average time saved, both in absolute terms and percentage vise. However, despite observing differences in average time saved using GitHub Copilot between seniority groups, the statistical analysis showed that the differences were not statistically significant. It was concluded that there might be other factors that might have impacted the results; however, without further research, it cannot be determined what those factors are. The results showed that overall, businesses that invest in this tool could expect improvements in the speed of the web. Furthermore, the results indicate that companies can also expect performance improvement across all seniority levels since all seniority groups showed improved completion time results across both tasks. However, one of the research goals was to also lo