ChatPaper.aiChatPaper

Comparación entre Desarrolladores de Software y ChatGPT: Una Investigación Empírica

Comparing Software Developers with ChatGPT: An Empirical Investigation

May 19, 2023
Autores: Nathalia Nascimento, Paulo Alencar, Donald Cowan
cs.AI

Resumen

El advenimiento de la automatización en tareas específicas de Ingeniería de Software (IS) ha pasado de la teoría a la realidad. Numerosos artículos académicos han documentado la aplicación exitosa de la Inteligencia Artificial para abordar problemas en áreas como la gestión de proyectos, modelado, pruebas y desarrollo. Una innovación reciente es la introducción de ChatGPT, un chatbot basado en aprendizaje automático, promocionado como un recurso competente para generar códigos de programación y formular estrategias de pruebas de software para desarrolladores y testers, respectivamente. Aunque existe la especulación de que la computación basada en IA puede aumentar la productividad e incluso sustituir a los ingenieros de software en el desarrollo de software, actualmente falta evidencia empírica para verificar esto. Además, a pesar del enfoque principal en mejorar la precisión de los sistemas de IA, los requisitos no funcionales, como la eficiencia energética, la vulnerabilidad, la equidad (es decir, el sesgo humano) y la seguridad, frecuentemente reciben una atención insuficiente. Este artículo postula que una comparación exhaustiva entre ingenieros de software y soluciones basadas en IA, considerando diversos criterios de evaluación, es fundamental para fomentar la colaboración humano-máquina, mejorar la confiabilidad de los métodos basados en IA y comprender la idoneidad de las tareas para humanos o IA. Además, facilita la implementación efectiva de estructuras de trabajo cooperativo y procesos con humanos en el ciclo. Este artículo realiza una investigación empírica, contrastando el desempeño de ingenieros de software y sistemas de IA, como ChatGPT, a través de diferentes métricas de evaluación. El estudio empírico incluye un caso de evaluación de código generado por ChatGPT frente al código producido por desarrolladores y subido en Leetcode.
English
The advent of automation in particular Software Engineering (SE) tasks has transitioned from theory to reality. Numerous scholarly articles have documented the successful application of Artificial Intelligence to address issues in areas such as project management, modeling, testing, and development. A recent innovation is the introduction of ChatGPT, an ML-infused chatbot, touted as a resource proficient in generating programming codes and formulating software testing strategies for developers and testers respectively. Although there is speculation that AI-based computation can increase productivity and even substitute software engineers in software development, there is currently a lack of empirical evidence to verify this. Moreover, despite the primary focus on enhancing the accuracy of AI systems, non-functional requirements including energy efficiency, vulnerability, fairness (i.e., human bias), and safety frequently receive insufficient attention. This paper posits that a comprehensive comparison of software engineers and AI-based solutions, considering various evaluation criteria, is pivotal in fostering human-machine collaboration, enhancing the reliability of AI-based methods, and understanding task suitability for humans or AI. Furthermore, it facilitates the effective implementation of cooperative work structures and human-in-the-loop processes. This paper conducts an empirical investigation, contrasting the performance of software engineers and AI systems, like ChatGPT, across different evaluation metrics. The empirical study includes a case of assessing ChatGPT-generated code versus code produced by developers and uploaded in Leetcode.
PDF10December 15, 2024