[论文解读] An Empirical Study on Usage and Perceptions of LLMs in a Software Engineering Project
本文分析了214名本科计算机科学专业学生在一个以团队为基础的软件工程项目中如何使用和看待大型语言模型(LLMs),研究代码生成、提示、人工干预及学生态度。它为在教育中整合LLMs提供了一个框架,并强调对人机协作技能的影响。
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 经验之间的相关性。
- 为教育领域在软件工程中培养学生的人机协作能力提供可操作的见解。
提出的方法
- 在三个里程碑从学生代码库中收集AI生成的代码产出、提示和人类干预注释。
- 将提示分成预定义类别并量化提示使用情况。
- 在项目结束后使用统一理论(UTAUT)模型对学生进行调查,以评估Performance Expectancy、Effort Expectancy、Social Influence和Facilitating Conditions等结构。
- 分析BI/U(行为意向/使用)与个人因素之间的相关性,使用可靠性指标(Cronbach’s Alpha)和假设检验。
- 评估学生项目的正确性和质量,以确定在人工审核下AI生成代码的影响。

实验结果
研究问题
- RQ1在学术软件工程项目中,团队如何使用AI生成的代码,最常见的任务类型是什么?
- RQ2整合AI生成的代码进入学生项目需要哪些水平的人为干预?
- RQ3学生如何看待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生成片段的平均行数增加,表明用户随着时间的推移学会对更大块进行提示。
- 出现帕累托模式:约80%的AI生成代码来自约20%的团队,然而在AI使用程度不同的团队之间,整体代码质量并无显著差异。
- UTAUT分析显示行为意向和使用度较高,FC、PE、EE与BI/U之间存在显著相关;编码技能和付费访问对使用产生调节作用。
- 在应用了人工干预的情况下,AI使用较多的团队与AI使用较少/无使用的团队在正确性和质量上并无显著差异。

更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。