ChatPaper.aiChatPaper

Сравнение разработчиков программного обеспечения с 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.
PDF10December 15, 2024