Skip to main content
QUICK REVIEW

[論文レビュー] An Empirical Study on Usage and Perceptions of LLMs in a Software Engineering Project

Sanka Rasnayaka, Guanlin Wang|arXiv (Cornell University)|Jan 29, 2024
Technology Adoption and User Behaviour被引用数 5
ひとこと要約

この論文は、214名の学部CS学生が大規模言語モデル(LLMs)をどのように使用し、どのように認識しているかを、チームベースのソフトウェア工学プロジェクトを通じて分析し、コード生成、プロンプト、人的介入、学生の態度を検討する。教育現場へのLLMs統合の枠組みを提供し、人間とAIの協働スキルへの影響を強調する。

ABSTRACT

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生成コードの影響を判断するため、学生プロジェクトの正確性と品質を評価する。
Figure 1. High-level software architecture of the Static Program Analyzer (SPA), the software to be developed by the students
Figure 1. High-level software architecture of the Static Program Analyzer (SPA), the software to be developed by the students

実験結果

リサーチクエスチョン

  • RQ1学術的なSEプロジェクトでチームはAI生成コードをどのように活用し、最も一般的なタスクはどのようなものか?
  • RQ2学生のプロジェクトにAI生成コードを統合するにはどの程度の人的介入が必要か?
  • RQ3CSおよびSEのキャリアにおけるAIコード生成の有用性と将来の影響を学生はどう認識しているか?
  • RQ4コードスキル、作業負荷、事前のAI経験、有料アクセスなどの要因がAIコード生成ツールの受容と使用にどのように影響するか?
  • RQ5人間が適切に検証した場合、AI支援によるコーディングはコードの正確性と性能に影響を与えるか?

主な発見

MilestoneSnippetsLinesLines / Snippet
MS153178133.60
MS2315953.00
MS3751373.29
MS1 aggregate53178133.60
MS2 aggregate56194034.64
MS3 aggregate63245338.94
  • AI生成コードは初期構造、基本的なデザインパターン、データ構造、簡単なC++タスクに最もよく使用され、プロンプトにはDFSのような解法が一般的だった。
  • Copilotの出力は頻繁に人間の介入を必要とし、有料のChatGPT-4は大きな変更を要さないことが多かった。一方、無料のChatGPTではより多くの介入が見られた。
  • AI生成スニペットあたりの平均行数はマイルストーンを追うごとに増加し、時間とともにより大きな塊を促すプロンプトを学んだことを示唆している。
  • パレートの法則が現れ:AI生成コードの約80%が約20%のチームから生成された一方で、AI使用量の異なるチーム間で全体のコード品質に有意な差は見られなかった。
  • UTAUT分析は高い行動意図と使用を示し、FC、PE、EE、BI/Uの間に強い相関があり、コーディングスキルと有料アクセスが使用を調整した。
  • 人間介入が適用された場合、AIを多用するチームとそれほどAIを使わない/使わないチームとの正確性と品質に有意差は見られなかった。
Figure 2. The timeline of the software engineering project, highlighting important milestones along with specific tasks in each phase. The development activities for the project span from Week 1-13, with three key milestones that need to be achieved by the students.
Figure 2. The timeline of the software engineering project, highlighting important milestones along with specific tasks in each phase. The development activities for the project span from Week 1-13, with three key milestones that need to be achieved by the students.

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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