Ein empirischer Vergleich zwischen Softwareentwicklern und ChatGPT
Comparing Software Developers with ChatGPT: An Empirical Investigation
May 19, 2023
Autoren: Nathalia Nascimento, Paulo Alencar, Donald Cowan
cs.AI
Zusammenfassung
Die Einführung von Automatisierung in bestimmten Aufgaben der Softwareentwicklung (SE) hat sich von der Theorie zur Realität entwickelt. Zahlreiche wissenschaftliche Artikel haben die erfolgreiche Anwendung von Künstlicher Intelligenz (KI) zur Lösung von Problemen in Bereichen wie Projektmanagement, Modellierung, Tests und Entwicklung dokumentiert. Eine jüngste Innovation ist die Einführung von ChatGPT, einem mit maschinellem Lernen (ML) ausgestatteten Chatbot, der als Ressource zur Generierung von Programmiercodes und zur Formulierung von Softwareteststrategien für Entwickler und Tester gepriesen wird. Obwohl spekuliert wird, dass KI-basierte Berechnungen die Produktivität steigern und sogar Softwareentwickler in der Softwareentwicklung ersetzen können, gibt es derzeit keine empirischen Belege, die dies bestätigen. Darüber hinaus erhalten nicht-funktionale Anforderungen wie Energieeffizienz, Anfälligkeit, Fairness (d.h. menschliche Voreingenommenheit) und Sicherheit trotz des primären Fokus auf die Verbesserung der Genauigkeit von KI-Systemen häufig unzureichend Aufmerksamkeit. Dieses Papier postuliert, dass ein umfassender Vergleich von Softwareentwicklern und KI-basierten Lösungen unter Berücksichtigung verschiedener Bewertungskriterien entscheidend ist, um die Zusammenarbeit zwischen Mensch und Maschine zu fördern, die Zuverlässigkeit von KI-basierten Methoden zu verbessern und die Eignung von Aufgaben für Menschen oder KI zu verstehen. Darüber hinaus erleichtert es die effektive Implementierung von kooperativen Arbeitsstrukturen und Human-in-the-Loop-Prozessen. Dieses Papier führt eine empirische Untersuchung durch, die die Leistung von Softwareentwicklern und KI-Systemen wie ChatGPT anhand verschiedener Bewertungsmetriken vergleicht. Die empirische Studie umfasst einen Fall, in dem ChatGPT-generierter Code mit von Entwicklern erstelltem und auf Leetcode hochgeladenem Code bewertet wird.
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.