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.