[논문 리뷰] Which is a better programming assistant? A comparative study between chatgpt and stack overflow
이 연구는 44명의 학생이 알고리즘, 라이브러리, 디버깅 작업을 수행하는 통제된 사용자 실험을 통해 ChatGPT와 Stack Overflow를 프로그래밍 보조수 Mittel로 비교한다. 알고리즘 및 라이브러리 작업에서 ChatGPT는 코드 품질에서 Stack Overflow를 앞서며, 알고리즘 과제에서는 더 빠른 속도를 보였다. 반면 디버깅 과제에서는 커뮤니티 검증된 솔루션과 상세한 오류 설명 덕분에 Stack Overflow가 뛰어났다.
Programmers often seek help from Q\&A websites to resolve issues they encounter during programming. Stack Overflow has been a widely used platform for this purpose for over a decade. Recently, revolutionary AI-powered platforms like ChatGPT have quickly gained popularity among programmers for their efficient and personalized programming assistance via natural language interactions. Both platforms can offer valuable assistance to programmers, but it's unclear which is more effective at enhancing programmer productivity. In our paper, we conducted an exploratory user study to compare the performance of Stack Overflow and ChatGPT in enhancing programmer productivity. Two groups of students with similar programming abilities were instructed to use the two platforms to solve three different types of programming tasks: algorithmic challenges, library usage, and debugging. During the experiments, we measured and compared the quality of code produced and the time taken to complete tasks for the two groups. The results show that, concerning code quality, ChatGPT outperforms Stack Overflow significantly in helping complete algorithmic and library-related tasks, while Stack Overflow is better for debugging tasks. Regarding task completion speed, the ChatGPT group is obviously faster than the Stack Overflow group in the algorithmic challenge, but the two groups have a similar performance in the other two tasks. Additionally, we conducted a post-experiment survey with the participants to understand how the platforms have helped them complete the programming tasks. We analyzed the questionnaires to summarize ChatGPT and Stack Overflow's strengths and weaknesses pointed out by the participants. By comparing these, we identified the reasons behind the two platforms' divergent performances in programming assistance.
연구 동기 및 목표
- 프로그래머의 생산성을 더 효과적으로 향상시키는 데 더 유리한 프로그래밍 보조도구—ChatGPT 또는 Stack Overflow—를 조사하는 것.
- 다양한 프로그래밍 작업에서 코드 품질과 작업 완료 속도 측면에서 두 플랫폼을 비교하는 것.
- 사용자 경험과 성능 지표를 바탕으로 각 플랫폼의 강점과 약점을 규명하는 것.
- 실험 후 사용자 피드백을 통해 다양한 과제 유형에서 성능 차이가 발생하는 근본 원인을 이해하는 것.
제안 방법
- 유사한 프로그래밍 능력을 지닌 44명의 참가자를 대상으로 통제된 사용자 실험을 실시하였으며, 참가자들은 두 그룹으로 나뉘어 각각 ChatGPT 또는 Stack Overflow를 사용하였다.
- 표준화된 소프트웨어 및 하드웨어 환경 내에서 세 가지 유형의 과제를 할당: 알고리즘 과제, 라이브러리 사용, 디버깅 과제.
- 코드 품질은 객관적인 평가 기준을 사용하고, 작업 완료 시간을 측정하여 생산성 수준을 평가하였다.
- 상호작용의 일관성과 추적 가능성을 확보하기 위해 참가자 행동을 화면 기록으로 기록하였다.
- 실험 후 설문지를 시행하여 플랫폼의 강점과 약점에 대한 정성적 피드백을 수집하였다.
- 설문지 응답을 분석하여 반복되는 주제를 도출하고, 이와 정량적 성과를 연관지어 분석하였다.
실험 결과
연구 질문
- RQ1RQ1: 어떤 플랫폼이 프로그래머의 코드 품질 향상에 더 효과적인가?
- RQ2RQ2: 어떤 플랫폼이 프로그래머의 과제 완료 속도 향상에 더 효과적인가?
- RQ3RQ3: 다양한 과제 유형에서 ChatGPT와 Stack Overflow의 성능 차이가 발생하는 근본적인 이유는 무엇인가?
주요 결과
- 알고리즘 및 라이브러리 관련 과제에서 ChatGPT는 객관적인 코드 평가 기준을 통해 Stack Overflow보다 유의미하게 높은 품질의 코드를 생성하였다.
- 알고리즘 과제에서는 ChatGPT 그룹이 평균적으로 Stack Overflow 그룹보다 30% 더 빠르게 과제를 완료하여 이 분야에서 뛰어난 속도를 보였다.
- 디버깅 과제에서는 Stack Overflow가 코드 품질에서 ChatGPT를 앞섰으며, 이는 상세하고 커뮤니티가 검증한 설명과 실제 오류 패턴 덕분일 것이다.
- 라이브러리 사용 및 디버깅 과제에서는 두 플랫폼 간 작업 완료 시간이 유사하여, 이 분야에서는 어느 플랫폼도 유의미한 속도 우위를 점하지 못했다.
- 참가자들은 ChatGPT의 응답이 새로운 또는 추상적인 문제에 대해 더 즉각적이고 맥락에 부합하는 반면, Stack Overflow는 극단적인 케이스에 대한 더 신뢰할 수 있고 검증된 솔루션을 제공한다고 평가했다.
- 실험 후 설문 조사 결과, 사용자들은 커뮤니티 답변의 투명성과 검증 가능성 덕분에 복잡한 디버깅 작업에서는 Stack Overflow를 더 신뢰했으며, 반면 ChatGPT는 새로운 라이브러리 학습과 빠른 프로토타이핑에 더 선호되었다고 밝혔다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.