Сравнение разработчиков программного обеспечения с ChatGPT: эмпирическое исследование
Comparing Software Developers with ChatGPT: An Empirical Investigation
May 19, 2023
Авторы: Nathalia Nascimento, Paulo Alencar, Donald Cowan
cs.AI
Аннотация
Внедрение автоматизации в задачи программной инженерии (SE) перешло из теоретической плоскости в практическую. Многочисленные научные статьи задокументировали успешное применение искусственного интеллекта (ИИ) для решения проблем в таких областях, как управление проектами, моделирование, тестирование и разработка. Одним из недавних нововведений стало появление ChatGPT — чат-бота, основанного на машинном обучении (ML), который позиционируется как инструмент, способный генерировать программный код и разрабатывать стратегии тестирования для разработчиков и тестировщиков соответственно. Хотя существует предположение, что вычисления на основе ИИ могут повысить производительность и даже заменить инженеров-программистов в разработке программного обеспечения, в настоящее время отсутствуют эмпирические данные, подтверждающие это. Более того, несмотря на основной акцент на повышении точности систем ИИ, нефункциональные требования, такие как энергоэффективность, уязвимость, справедливость (например, человеческие предубеждения) и безопасность, часто остаются недостаточно изученными. В данной статье утверждается, что всестороннее сравнение инженеров-программистов и решений на основе ИИ с учетом различных критериев оценки имеет ключевое значение для развития сотрудничества между человеком и машиной, повышения надежности методов на основе ИИ и понимания пригодности задач для человека или ИИ. Кроме того, это способствует эффективной реализации совместных рабочих структур и процессов с участием человека (human-in-the-loop). В статье проводится эмпирическое исследование, в котором сравнивается производительность инженеров-программистов и систем ИИ, таких как ChatGPT, по различным оценочным метрикам. Эмпирическое исследование включает случай оценки кода, сгенерированного ChatGPT, в сравнении с кодом, созданным разработчиками и загруженным на платформу 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.