소프트웨어 개발자와 ChatGPT 비교: 실증적 연구
Comparing Software Developers with ChatGPT: An Empirical Investigation
May 19, 2023
저자: Nathalia Nascimento, Paulo Alencar, Donald Cowan
cs.AI
초록
특히 소프트웨어 엔지지링(SE) 작업에서의 자동화는 이론에서 현실로 전환되었습니다. 수많은 학술 논문들이 프로젝트 관리, 모델링, 테스트, 개발과 같은 영역에서의 문제를 해결하기 위해 인공지능을 성공적으로 적용한 사례를 기록해 왔습니다. 최근의 혁신으로는 프로그래밍 코드 생성과 소프트웨어 테스트 전략 수립에 능숙한 리소스로 평가받는 머신러닝 기반 챗봇인 ChatGPT의 도입이 있습니다. 비록 인공지능 기반 컴퓨팅이 생산성을 높이고 심지어 소프트웨어 개발에서 소프트웨어 엔지니어를 대체할 수 있다는 추측이 있지만, 이를 검증할 실증적 증거는 현재 부족한 상황입니다. 더욱이, 인공지능 시스템의 정확도 향상에 주된 초점이 맞춰져 있는 반면, 에너지 효율성, 취약성, 공정성(즉, 인간의 편견), 안전성과 같은 비기능적 요구사항들은 종종 충분한 주의를 받지 못하고 있습니다. 본 논문은 다양한 평가 기준을 고려하여 소프트웨어 엔지니어와 인공지능 기반 솔루션을 포괄적으로 비교하는 것이 인간-기계 협업을 촉진하고, 인공지능 기반 방법의 신뢰성을 높이며, 인간 또는 인공지능에 적합한 작업을 이해하는 데 있어 핵심적이라고 주장합니다. 또한, 이는 협업 작업 구조와 인간-루프 프로세스의 효과적인 구현을 용이하게 합니다. 본 논문은 소프트웨어 엔지니어와 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.