Softwareontwikkelaars vergelijken met ChatGPT: Een Empirisch Onderzoek
Comparing Software Developers with ChatGPT: An Empirical Investigation
May 19, 2023
Auteurs: Nathalia Nascimento, Paulo Alencar, Donald Cowan
cs.AI
Samenvatting
De opkomst van automatisering in specifieke Software Engineering (SE) taken is van theorie naar realiteit overgegaan. Talrijke wetenschappelijke artikelen hebben de succesvolle toepassing van Kunstmatige Intelligentie (AI) gedocumenteerd om problemen aan te pakken op gebieden zoals projectmanagement, modellering, testen en ontwikkeling. Een recente innovatie is de introductie van ChatGPT, een met machine learning (ML) verrijkte chatbot, die wordt geprezen als een hulpmiddel dat bekwaam is in het genereren van programmeercodes en het formuleren van softwareteststrategieën voor ontwikkelaars en testers respectievelijk. Hoewel er speculatie bestaat dat AI-gebaseerde berekeningen de productiviteit kunnen verhogen en zelfs software engineers kunnen vervangen in softwareontwikkeling, ontbreekt het momenteel aan empirisch bewijs om dit te verifiëren. Bovendien krijgen, ondanks de primaire focus op het verbeteren van de nauwkeurigheid van AI-systemen, niet-functionele vereisten zoals energie-efficiëntie, kwetsbaarheid, eerlijkheid (d.w.z. menselijke vooroordelen) en veiligheid vaak onvoldoende aandacht. Dit artikel stelt dat een uitgebreide vergelijking van software engineers en AI-gebaseerde oplossingen, rekening houdend met verschillende evaluatiecriteria, cruciaal is voor het bevorderen van mens-machine samenwerking, het verbeteren van de betrouwbaarheid van AI-gebaseerde methoden en het begrijpen van taakgeschiktheid voor mensen of AI. Bovendien vergemakkelijkt het de effectieve implementatie van coöperatieve werkstructuren en human-in-the-loop processen. Dit artikel voert een empirisch onderzoek uit, waarbij de prestaties van software engineers en AI-systemen, zoals ChatGPT, worden vergeleken aan de hand van verschillende evaluatiemetrics. De empirische studie omvat een geval waarin ChatGPT-gegenereerde code wordt beoordeeld tegenover code die door ontwikkelaars is geproduceerd en geüpload in 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.