Skip to main content
QUICK REVIEW

[論文レビュー] Which is a better programming assistant? A comparative study between chatgpt and stack overflow

Jinda Liu, Xinyu Tang|arXiv (Cornell University)|Aug 26, 2023
Online Learning and Analytics被引用数 5
ひとこと要約

本研究では、44名の学生を対象に制御されたユーザ実験を通じて、ChatGPT と Stack Overflow をプログラミングアシスタントとして比較した。アルゴリズム的タスク、ライブラリ使用タスク、デバッグタスクにおいて、ChatGPT はアルゴリズム的およびライブラリ関連タスクでコード品質が高く、アルゴリズム的チャレンジではより高速であった。一方、Stack Overflow は、コミュニティで検証された解決策と詳細なエラーメッセージの説明があるため、デバッグタスクで優れた結果を示した。

ABSTRACT

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名の参加者を対象に、制御されたユーザースタディを実施。参加者を2つのグループに分け、一方はChatGPT、他方はStack Overflowを使用した。
  • 3つの明確に区別されたタスクタイプ(アルゴリズム的チャレンジ、ライブラリ使用、デバッグタスク)を、標準化されたソフトウェアおよびハードウェア環境内で割り当てた。
  • 生産性を評価するため、客観的な評価基準を用いてコード品質を測定し、タスク完了時間を計測した。
  • インタラクションの一貫性と追跡可能性を確保するため、参加者の行動をスクリーンキャプチャで記録した。
  • 実験後アンケートを実施し、プラットフォームの強みと弱みに関する定性的フィードバックを収集した。
  • アンケートの回答を分析し、繰り返し現れるテーマを抽出し、定量的パフォーマンス結果と照合した。

実験結果

リサーチクエスチョン

  • RQ1RQ1: どちらのプラットフォームが、プログラマーのコード品質をより良くするか?
  • RQ2RQ2: どちらのプラットフォームが、タスクの完了速度をより向上させるか?
  • RQ3RQ3: ChatGPT と Stack Overflow のタスクタイプごとのパフォーマンス差の背後にある要因は何か?

主な発見

  • アルゴリズム的およびライブラリ関連タスクにおいて、ChatGPT は客観的なコード評価基準に基づき、Stack Overflow よりもはるかに高いコード品質を達成した。
  • アルゴリズム的チャレンジにおいて、ChatGPT グループは平均して Stack Overflow グループより30%速くタスクを完了した。これは、この分野における優れたスピードを示している。
  • デバッグタスクにおいて、Stack Overflow はコード品質で ChatGPT を上回った。これは、詳細でコミュニティで検証された説明と、現実のエラーパターンに基づいた解決策があるためと考えられる。
  • ライブラリ使用およびデバッグタスクにおいて、両プラットフォームのタスク完了時間に顕著な差はなく、両者に速度面での顕著な優位性は認められなかった。
  • 参加者からの報告では、ChatGPT の回答は、新規または抽象的な問題に対してより即座で文脈に即したものであった一方、Stack Overflow はエッジケースに対する信頼性が高く検証済みの解決策を提供していた。
  • 実験後アンケートでは、ユーザーが複雑なデバッグに対して Stack Overflow をより信頼した。これは、コミュニティの回答の透明性と検証可能性のおかげである。一方、ChatGPT は、新規ライブラリの習得や迅速なプロトタイピングに好まれた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。