[論文レビュー] An Empirical Study on Usage and Perceptions of LLMs in a Software Engineering Project
この論文は、214名の学部CS学生が大規模言語モデル(LLMs)をどのように使用し、どのように認識しているかを、チームベースのソフトウェア工学プロジェクトを通じて分析し、コード生成、プロンプト、人的介入、学生の態度を検討する。教育現場へのLLMs統合の枠組みを提供し、人間とAIの協働スキルへの影響を強調する。
Large Language Models (LLMs) represent a leap in artificial intelligence, excelling in tasks using human language(s). Although the main focus of general-purpose LLMs is not code generation, they have shown promising results in the domain. However, the usefulness of LLMs in an academic software engineering project has not been fully explored yet. In this study, we explore the usefulness of LLMs for 214 students working in teams consisting of up to six members. Notably, in the academic course through which this study is conducted, students were encouraged to integrate LLMs into their development tool-chain, in contrast to most other academic courses that explicitly prohibit the use of LLMs. In this paper, we analyze the AI-generated code, prompts used for code generation, and the human intervention levels to integrate the code into the code base. We also conduct a perception study to gain insights into the perceived usefulness, influencing factors, and future outlook of LLM from a computer science student's perspective. Our findings suggest that LLMs can play a crucial role in the early stages of software development, especially in generating foundational code structures, and helping with syntax and error debugging. These insights provide us with a framework on how to effectively utilize LLMs as a tool to enhance the productivity of software engineering students, and highlight the necessity of shifting the educational focus toward preparing students for successful human-AI collaboration.
研究の動機と目的
- 学術的でチームベースのソフトウェア工学プロジェクトにおけるLLMsの有用性を調査する。
- AI生成コード、プロンプト、およびAI出力を統合するために必要な人的介入のレベルを分析する。
- LLM支援のコーディングに対する学生の認識、有用性、および将来展望を評価する。
- LLMの使用がコーディング能力、作業負荷、事前のAI経験とどのように相関するかを調べる。
- SE分野における人間とAIの協働に向けた学生準備に関する教育への実践的洞察を提供する。
提案手法
- 3つのマイルストーンで学生のリポジトリからAI生成コードの成果物、プロンプト、および人的介入の注釈を収集する。
- プロンプトを事前定義済みのカテゴリに分類し、プロンプトの使用量を定量化する。
- プロジェクト後にUnified Theory of Acceptance and Use of Technology (UTAUT)モデルを用いて学生を調査し、Performance Expectancy、Effort Expectancy、Social Influence、Facilitating Conditionsなどの構成概念を評価する。
- BI/U(行動意図/使用)と個人要因との相関を、信頼性指標(Cronbach’s Alpha)と仮説検定を用いて分析する。
- 人間による検証を伴うAI生成コードの影響を判断するため、学生プロジェクトの正確性と品質を評価する。

実験結果
リサーチクエスチョン
- RQ1学術的なSEプロジェクトでチームはAI生成コードをどのように活用し、最も一般的なタスクはどのようなものか?
- RQ2学生のプロジェクトにAI生成コードを統合するにはどの程度の人的介入が必要か?
- RQ3CSおよびSEのキャリアにおけるAIコード生成の有用性と将来の影響を学生はどう認識しているか?
- RQ4コードスキル、作業負荷、事前のAI経験、有料アクセスなどの要因がAIコード生成ツールの受容と使用にどのように影響するか?
- RQ5人間が適切に検証した場合、AI支援によるコーディングはコードの正確性と性能に影響を与えるか?
主な発見
| Milestone | Snippets | Lines | Lines / Snippet |
|---|---|---|---|
| MS1 | 53 | 1781 | 33.60 |
| MS2 | 3 | 159 | 53.00 |
| MS3 | 7 | 513 | 73.29 |
| MS1 aggregate | 53 | 1781 | 33.60 |
| MS2 aggregate | 56 | 1940 | 34.64 |
| MS3 aggregate | 63 | 2453 | 38.94 |
- AI生成コードは初期構造、基本的なデザインパターン、データ構造、簡単なC++タスクに最もよく使用され、プロンプトにはDFSのような解法が一般的だった。
- Copilotの出力は頻繁に人間の介入を必要とし、有料のChatGPT-4は大きな変更を要さないことが多かった。一方、無料のChatGPTではより多くの介入が見られた。
- AI生成スニペットあたりの平均行数はマイルストーンを追うごとに増加し、時間とともにより大きな塊を促すプロンプトを学んだことを示唆している。
- パレートの法則が現れ:AI生成コードの約80%が約20%のチームから生成された一方で、AI使用量の異なるチーム間で全体のコード品質に有意な差は見られなかった。
- UTAUT分析は高い行動意図と使用を示し、FC、PE、EE、BI/Uの間に強い相関があり、コーディングスキルと有料アクセスが使用を調整した。
- 人間介入が適用された場合、AIを多用するチームとそれほどAIを使わない/使わないチームとの正確性と品質に有意差は見られなかった。

より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。