Artificial Intelligence for Software Developers
Szikszó, Zoltán Péter (2024)
Szikszó, Zoltán Péter
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-2024052716272
https://urn.fi/URN:NBN:fi:amk-2024052716272
Tiivistelmä
The integration of Artificial Intelligence (AI) into software engineering is transforming the landscape of software development, enhancing the efficiency, productivity, and creativity of engineers. This thesis investigates the impact of AI, particularly the language model ChatGPT, on software engineering practices. It encompasses a detailed exploration of AI's evolution, current state, and future directions within the context of software development.
The research begins with a historical overview of AI in software engineering, tracing its development from early rule-based systems to contemporary machine learning and natural language processing models. By reviewing a comprehensive array of scholarly articles, industry reports, and expert interviews, the study captures the multifaceted ways AI is reshaping software engieering. Key areas of impact include automated code generation, intelligent debugging, enhanced quality assurance, and dynamic documentation.
A qualitative methodology is employed to analyze the contributions of AI, supplemented by practical experiments involving ChatGPT. These experiments include generating code snippets, providing documentation, and identifying bugs, demonstrating AI's practical applications and limitations. The findings highlight AI's ability to augment human capabilities, reduce repetitive tasks, and introduce innovative solutions to complex problems.
A significant component of the thesis is a case study where ChatGPT is used to develop a simple portfolio website. This practical demonstration underscores AI's potential to assist in real- world software development tasks, from initial design to deployment. The results reveal that while AI can significantly aid in various stages of development, human oversight remains crucial to ensure the quality and relevance of the output.
The thesis concludes with a discussion on the future implications of AI in software engineering, considering ethical, technical, and social dimensions. It emphasizes the need for ongoing re- search, interdisciplinary collaboration, and the development of guidelines to harness AI's benefits while mitigating risks. The study offers valuable insights into how AI can be effectively integrated into software engineering workflows, fostering a synergistic relationship between human expertise and machine intelligence.
Overall, this thesis provides a comprehensive understanding of AI's transformative role in soft- ware engineering, presenting both theoretical insights and practical applications. It aims to serve as a foundational resource for researchers, practitioners, and policymakers interested in the future of AI-driven software development.
The research begins with a historical overview of AI in software engineering, tracing its development from early rule-based systems to contemporary machine learning and natural language processing models. By reviewing a comprehensive array of scholarly articles, industry reports, and expert interviews, the study captures the multifaceted ways AI is reshaping software engieering. Key areas of impact include automated code generation, intelligent debugging, enhanced quality assurance, and dynamic documentation.
A qualitative methodology is employed to analyze the contributions of AI, supplemented by practical experiments involving ChatGPT. These experiments include generating code snippets, providing documentation, and identifying bugs, demonstrating AI's practical applications and limitations. The findings highlight AI's ability to augment human capabilities, reduce repetitive tasks, and introduce innovative solutions to complex problems.
A significant component of the thesis is a case study where ChatGPT is used to develop a simple portfolio website. This practical demonstration underscores AI's potential to assist in real- world software development tasks, from initial design to deployment. The results reveal that while AI can significantly aid in various stages of development, human oversight remains crucial to ensure the quality and relevance of the output.
The thesis concludes with a discussion on the future implications of AI in software engineering, considering ethical, technical, and social dimensions. It emphasizes the need for ongoing re- search, interdisciplinary collaboration, and the development of guidelines to harness AI's benefits while mitigating risks. The study offers valuable insights into how AI can be effectively integrated into software engineering workflows, fostering a synergistic relationship between human expertise and machine intelligence.
Overall, this thesis provides a comprehensive understanding of AI's transformative role in soft- ware engineering, presenting both theoretical insights and practical applications. It aims to serve as a foundational resource for researchers, practitioners, and policymakers interested in the future of AI-driven software development.