Open Access
ARTICLE
Automation of Software Development Stages with the OpenAI API
Verónica C. Tapia1,2,*, Carlos M. Gaona2
1 Sistemas de Información, Universidad Técnica de Cotopaxi, Latacunga, Cotopaxi, 050108, Ecuador
2 Escuela de Ingeniería de Sistemas y Computación, Universidad del Valle, Santiago de Cali, 760042, Colombia
* Corresponding Author: Verónica C. Tapia. Email:
Computer Systems Science and Engineering https://doi.org/10.32604/csse.2024.056979
Received 04 August 2024; Accepted 28 October 2024; Published online 06 December 2024
Abstract
In recent years, automation has become a key focus in software development as organizations seek to improve efficiency and reduce time-to-market. The integration of artificial intelligence (AI) tools, particularly those using natural language processing (NLP) like ChatGPT, has opened new possibilities for automating various stages of the development lifecycle. The primary objective of this study is to evaluate the effectiveness of ChatGPT in automating various phases of software development. An artificial intelligence (AI) tool was developed using the OpenAI—Application Programming Interface (API), incorporating two key functionalities: 1) generating user stories based on case or process inputs, and 2) estimating the effort required to execute each user story. Additionally, ChatGPT was employed to generate application code. The AI tool was tested in three case studies, each explored under two different development strategies: a semi-automated process utilizing the AI tools and a traditional manual approach. The results demonstrated a significant reduction in total development time, ranging from 40% to 51%. However, it was observed that the generated content could be inaccurate and incomplete, necessitating review and debugging before being applied to projects. In conclusion, given the increasing shift towards automation in software engineering, further research is critical to enhance the efficiency and reliability of AI tools, particularly those that leverage natural language processing (NLP) technologies.
Keywords
Artificial intelligence tools; user stories; ChatGPT; AI estimation; automation of software development processes