Rocks Coding, Not Development--A Human-Centric, Experimental Evaluation of LLM-Supported SE Tasks

📄 arXiv: 2402.05650v3 📥 PDF

作者: Wei Wang, Huilong Ning, Gaowei Zhang, Libo Liu, Yi Wang

分类: cs.SE, cs.AI

发布日期: 2024-02-08 (更新: 2024-02-21)

备注: The paper has been accepted by FSE


💡 一句话要点

评估LLM在软件开发任务中的支持能力

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 软件开发 人机交互 实验评估 ChatGPT 编码任务 开发者支持

📋 核心要点

  1. 现有研究对LLM在软件开发中的实际应用能力缺乏深入探讨,尤其是在复杂任务中的表现尚不明确。
  2. 本文通过实验评估ChatGPT在编码和软件开发任务中的支持效果,旨在揭示其在实际开发中的应用潜力。
  3. 实验结果显示,ChatGPT在简单编码问题上表现良好,但在复杂软件开发任务中效果不佳,且参与者的互动方式影响了结果。

📝 摘要(中文)

近年来,基于大型语言模型(LLM)的生成式人工智能在多个领域取得了显著进展,尤其是在ChatGPT发布后。尽管许多人认为LLM有潜力替代人类软件开发者,但对其在软件开发任务中的实际能力缺乏深入研究。本文通过对109名参与者进行的2x2控制实验,探讨了ChatGPT在编码任务和典型软件开发任务中的支持效果。研究发现,虽然ChatGPT在解决简单编码问题上表现良好,但在支持复杂软件开发任务时效果不佳。此外,研究还观察了参与者与ChatGPT之间的互动关系及其对结果的影响,为开发者有效利用LLM提供了第一手见解,并强调了开发新交互机制的必要性。

🔬 方法详解

问题定义:本文旨在解决大型语言模型(LLM)在软件开发任务中实际应用能力不足的问题,尤其是对复杂任务的支持能力缺乏验证。现有方法未能充分评估LLM在真实开发环境中的表现。

核心思路:通过设计一个控制实验,评估ChatGPT在编码和软件开发任务中的实际支持效果,分析参与者与LLM的互动方式及其对任务结果的影响。

技术框架:实验采用2x2的控制设计,涉及109名参与者,分为不同组别进行编码任务和软件开发任务的评估。主要模块包括任务设计、参与者互动记录和结果分析。

关键创新:本研究首次系统性地评估了LLM在软件开发任务中的实际应用效果,揭示了其在简单与复杂任务中的表现差异,并分析了参与者的互动方式对结果的影响。

关键设计:实验中设置了不同的任务类型和参与者组别,采用定量和定性分析相结合的方法,记录参与者与ChatGPT的互动过程,并评估其对任务完成效果的影响。具体参数设置和评估标准在实验设计中进行了详细规定。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果显示,ChatGPT在解决简单编码问题时的表现良好,但在支持复杂软件开发任务时效果不佳。具体而言,参与者在与ChatGPT互动时,其互动方式显著影响了任务结果,提示了未来研究和工具设计的方向。

🎯 应用场景

该研究为软件开发领域提供了对大型语言模型应用的实证分析,具有重要的实际价值。未来,研究结果可用于指导开发者如何更有效地与LLM互动,提升软件开发效率,并推动相关工具和平台的设计与优化。

📄 摘要(原文)

Recently, large language models (LLM) based generative AI has been gaining momentum for their impressive high-quality performances in multiple domains, particularly after the release of the ChatGPT. Many believe that they have the potential to perform general-purpose problem-solving in software development and replace human software developers. Nevertheless, there are in a lack of serious investigation into the capability of these LLM techniques in fulfilling software development tasks. In a controlled 2 x 2 between-subject experiment with 109 participants, we examined whether and to what degree working with ChatGPT was helpful in the coding task and typical software development task and how people work with ChatGPT. We found that while ChatGPT performed well in solving simple coding problems, its performance in supporting typical software development tasks was not that good. We also observed the interactions between participants and ChatGPT and found the relations between the interactions and the outcomes. Our study thus provides first-hand insights into using ChatGPT to fulfill software engineering tasks with real-world developers and motivates the need for novel interaction mechanisms that help developers effectively work with large language models to achieve desired outcomes.