ChatGPT and AI for software optimization : a bachelor thesis on current practices, opinions, and views
Lipponen, Jaakko (2024)
Kandidaatintyö
Lipponen, Jaakko
2024
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2024070360398
https://urn.fi/URN:NBN:fi-fe2024070360398
Tiivistelmä
This thesis investigates the application of ChatGPT and other generative AI tools in software optimization, focusing on their role in enhancing software development. Specifically, this thesis explores their impact on code generation, test automation, and programming optimization. The study is based on a literature review, a comparison of commercial AI tools, and interviews with software professionals.
The findings demonstrate that ChatGPT can notably enhance the efficiency of software development processes by automating repetitive tasks and elevating code quality. Generative AI has been widely found to benefit developers in their work, for example, using ChatGPT for code generation and optimisation can speed up development processes and improve job satisfaction. However, the views of the local professionals interviewed were cautious, especially regarding the reliability of the generated code and the specific requirements of the industry.
Moreover, the study reveals that current AI tools like ChatGPT and GitHub Copilot excel in generating commonly used code and unit tests but require further development for generating more complex and customized solutions. Future research could focus on the longterm implications of AI tools for software development, as well as their ethical and labour market implications. Tämä kandidaatintutkielma tutkii ChatGPT:n ja muiden generatiivisten tekoälytyökalujen käyttöä ohjelmistojen optimoinnissa. Työssä tarkastellaan tekoälyn roolia ohjelmistokehityksessä, erityisesti koodin generoinnissa, testauksen automatisoinnissa ja ohjelmoinnin optimoinnissa. Tutkimus perustuu kirjallisuuskatsaukseen, kaupallisten tekoälytyökalujen vertailuun, sekä ohjelmistoalan ammattilaisten haastatteluihin.
Tutkimuksen tulokset osoittavat, että ChatGPT voi merkittävästi tehostaa ohjelmistokehityksen prosesseja automatisoimalla yksitoikkoisia tehtäviä ja parantamalla koodin laatua. Generatiivinen AI on yleisesti todettu hyödyttävän kehittäjiä työtehtävissään esimerkiksi ChatGPT:n käyttö koodin generoinnissa ja optimoinnissa voi nopeuttaa kehitysprosesseja ja parantaa työtyytyväisyyttä. Haastateltujen paikallisten ammattilaisten näkemykset olivat kuitenkin varovaisia, erityisesti generoidun koodin luotettavuuden ja teollisuuden erityisvaatimusten osalta.
Työssä havaittiin myös, että nykyiset tekoälytyökalut, kuten ChatGPT ja GitHub Copilot, ovat erityisen hyödyllisiä yksinkertaisten koodimallien ja yksikkötestien generoinnissa, mutta vaativat edelleen kehitystä monimutkaisempien ja asiakaskohtaisten ratkaisujen tuottamisessa. Tulevaisuuden tutkimus voisi keskittyä tekoälytyökalujen pitkän aikavälin vaikutuksiin ohjelmistokehityksessä, sekä niiden eettisiin- ja työmarkkinavaikutuksiin.
The findings demonstrate that ChatGPT can notably enhance the efficiency of software development processes by automating repetitive tasks and elevating code quality. Generative AI has been widely found to benefit developers in their work, for example, using ChatGPT for code generation and optimisation can speed up development processes and improve job satisfaction. However, the views of the local professionals interviewed were cautious, especially regarding the reliability of the generated code and the specific requirements of the industry.
Moreover, the study reveals that current AI tools like ChatGPT and GitHub Copilot excel in generating commonly used code and unit tests but require further development for generating more complex and customized solutions. Future research could focus on the longterm implications of AI tools for software development, as well as their ethical and labour market implications.
Tutkimuksen tulokset osoittavat, että ChatGPT voi merkittävästi tehostaa ohjelmistokehityksen prosesseja automatisoimalla yksitoikkoisia tehtäviä ja parantamalla koodin laatua. Generatiivinen AI on yleisesti todettu hyödyttävän kehittäjiä työtehtävissään esimerkiksi ChatGPT:n käyttö koodin generoinnissa ja optimoinnissa voi nopeuttaa kehitysprosesseja ja parantaa työtyytyväisyyttä. Haastateltujen paikallisten ammattilaisten näkemykset olivat kuitenkin varovaisia, erityisesti generoidun koodin luotettavuuden ja teollisuuden erityisvaatimusten osalta.
Työssä havaittiin myös, että nykyiset tekoälytyökalut, kuten ChatGPT ja GitHub Copilot, ovat erityisen hyödyllisiä yksinkertaisten koodimallien ja yksikkötestien generoinnissa, mutta vaativat edelleen kehitystä monimutkaisempien ja asiakaskohtaisten ratkaisujen tuottamisessa. Tulevaisuuden tutkimus voisi keskittyä tekoälytyökalujen pitkän aikavälin vaikutuksiin ohjelmistokehityksessä, sekä niiden eettisiin- ja työmarkkinavaikutuksiin.
