The Effects of AI Assisted Programming in Software Engineering

dc.contributor.authorGottlander, Johan
dc.contributor.authorKhademi, Theodor
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerGren, Lucas
dc.contributor.supervisorFeldt, Robert
dc.date.accessioned2023-08-03T09:08:34Z
dc.date.available2023-08-03T09:08:34Z
dc.date.issued2023
dc.date.submitted2023
dc.description.abstractThe recent emergence of artificial intelligence (AI) learning algorithms has brought generative AI (GAI) tools to the market. In software engineering, an example of such a tool is GitHub Copilot (Copilot), which can generate code suggestions in real-time and through natural language input. In contrast to contemporary studies, this report attempts to fill a knowledge gap by employing a qualitative study, gaining insights into professional software engineers’ opinions regarding GAI use in natural settings. While Copilot was the primary reference point, the study acknowledges the emergence of other GAI such as ChatGPT which also fit within the scope of the thesis. The study was initially designed to let engineers use Copilot in their work for two weeks, followed by a semi-structured interview. However, hesitance from approached companies to use Copilot in their code due to legal and privacy concerns led to an alternative study design being used in tandem. Retaining the interview format and questions, participants were instead shown a demo showcasing Copilot’s features. In total, 13 professionals participated in the study. Through thematic analysis, findings revealed that utilizing Copilot can increase efficiency through auto-completion specifically. A lack of conversational capabilities and disruptive elements of Copilot lead to hindrances in development and code analysis. Furthermore, GAI tools allow engineers to focus on higher-level problems and offer inspiration, enhancing end-product creativity. Engineers also emphasized the retention of base knowledge to criticize GAI output. Finally, widespread GAI integration can lower the profession’s entry barrier, and developer roles can shift to take advantage of the enhancements the tools provide. It is still evident that there are currently many concerns with the technology for trusted integration. Therefore, efforts should be made to address these issues, which in turn can make studies in natural settings more viable.
dc.identifier.coursecodeDATX05
dc.identifier.urihttp://hdl.handle.net/20.500.12380/306738
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.subjectgenerative AI
dc.subjectsoftware engineering
dc.subjectfield experiment
dc.subjectsemi-structured interviews
dc.subjectproblem-solving
dc.subjectprogrammer efficiency
dc.subjectAI’s long-term effects
dc.titleThe Effects of AI Assisted Programming in Software Engineering
dc.type.degreeExamensarbete för masterexamensv
dc.type.degreeMaster's Thesisen
dc.type.uppsokH
local.programmeSoftware engineering and technology (MPSOF), MSc

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 23-84 JG TK.pdf
Storlek:
2.46 MB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
2.35 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: