ChatPaper.aiChatPaper

Comparaison entre les développeurs de logiciels et ChatGPT : une étude empirique

Comparing Software Developers with ChatGPT: An Empirical Investigation

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

Résumé

L'avènement de l'automatisation dans certaines tâches du génie logiciel (Software Engineering, SE) est passé de la théorie à la réalité. De nombreux articles scientifiques ont documenté l'application réussie de l'intelligence artificielle pour résoudre des problèmes dans des domaines tels que la gestion de projet, la modélisation, les tests et le développement. Une innovation récente est l'introduction de ChatGPT, un chatbot intégrant l'apprentissage automatique, présenté comme une ressource compétente pour générer des codes de programmation et formuler des stratégies de test logiciel pour les développeurs et les testeurs respectivement. Bien qu'il existe des spéculations selon lesquelles les calculs basés sur l'IA peuvent augmenter la productivité et même remplacer les ingénieurs logiciels dans le développement de logiciels, il manque actuellement des preuves empiriques pour le vérifier. De plus, malgré l'accent principal mis sur l'amélioration de la précision des systèmes d'IA, les exigences non fonctionnelles, y compris l'efficacité énergétique, la vulnérabilité, l'équité (c'est-à-dire les biais humains) et la sécurité, reçoivent fréquemment une attention insuffisante. Cet article postule qu'une comparaison approfondie entre les ingénieurs logiciels et les solutions basées sur l'IA, en considérant divers critères d'évaluation, est essentielle pour favoriser la collaboration homme-machine, améliorer la fiabilité des méthodes basées sur l'IA et comprendre l'adéquation des tâches pour les humains ou l'IA. De plus, elle facilite la mise en œuvre efficace de structures de travail coopératif et de processus impliquant l'humain dans la boucle. Cet article mène une investigation empirique, contrastant les performances des ingénieurs logiciels et des systèmes d'IA, comme ChatGPT, à travers différentes métriques d'évaluation. L'étude empirique inclut un cas d'évaluation de code généré par ChatGPT par rapport au code produit par des développeurs et téléchargé sur 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