[논문 리뷰] Comparing Software Developers with ChatGPT: An Empirical Investigation
이 논문은 LeetCode에서 경험 많은 프로그래머와 초보 프로그래머의 코드와 ChatGPT가 생성한 코드를 실증적으로 비교하여 성능과 메모리 효율성을 평가하고 인간-AI 협업의 코딩 작업에서의 효과를 제시합니다.
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.
연구 동기 및 목표
- AI 기반 코딩 도구를 인간 개발자와 함께 비기능적 기준으로 평가할 필요성을 제시합니다.
- ChatGPT가 다양한 난이도의 코딩 문제에서 인간 프로그래머를 능가할 수 있는지 조사합니다.
- 성능, 메모리 효율성 및 인간-루프 SE 작업의 잠재적 작업 할당을 평가합니다.
제안 방법
- 최근 LeetCode 콘테스트에서 쉬움/중간/어려움 문제에 대해 ChatGPT-4를 사용하여 C++ 솔루션을 생성합니다.
- LeetCode 메트릭에서 ChatGPT 솔루션을 숙련된 선수 프로그래머 및 초보 프로그래머의 솔루션과 비교합니다.
- 성능 및 메모리 효율 차이를 평가하기 위해 통계 검정(t-통계량, 0.01 유의수준)을 적용합니다.
- 생성된 솔루션의 시간 및 공간 복잡성을 분석하고 문제 간 변동성을 관찰합니다.
- 데이터 세트 원천 및 이전 솔루션의 재사용 가능성을 포함한 타당성 위협을 논의합니다.
실험 결과
연구 질문
- RQ1RQ1: ChatGPT가 쉬움/중간/어려움 문제에서 숙련된 콘테스트 프로그래머에 비해 성능(실행 시간)을 향상시키나요?
- RQ2RQ2: ChatGPT가 쉬움/중간/어려움 문제에서 숙련된 콘테스트 프로그래머에 비해 메모리 효율성을 향상시키나요?
- RQ3RQ3: ChatGPT가 쉬움/중간/어려움 문제에서 초보자 콘테스트 프로그래머에 비해 성능을 향상시키나요?
- RQ4RQ4: ChatGPT가 쉬움/중간/어려움 문제에서 초보자 콘테스트 프로그래머에 비해 메모리 효율성을 향상시키나요?
주요 결과
- ChatGPT 솔루션은 쉬움 및 중간 문제에서 초보자 프로그래머보다 성능에서 우수합니다.
- 중간 문제에서 ChatGPT 솔루션은 초보자보다 메모리 효율성이 더 좋습니다.
- ChatGPT가 숙련된 콘테스트 프로그래머를 성능 면에서 능가한다는 강한 증거가 없습니다.
- 어려운 문제의 경우 ChatGPT가 숙련된 프로그래머를 안정적으로 능가하지 못했고 일부 문제는 모든 그룹에서 해결되지 않았습니다.
- 문제 전반에 걸쳐 ChatGPT는 실행 시간 및 메모리에서 이전 솔루션에 비해 상당한 상대적 순위를 달성했으나 문제 특성 및 플랫폼 평가에 따라 변동성이 있습니다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.