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)|2024. 01. 29.
Technology Adoption and User Behaviour인용 수 5
한 줄 요약

이 논문은 214명의 학부 CS 학생들이 팀 기반 소프트웨어 엔지니어링 프로젝트에서 대형 언어 모델(LLMs)을 어떻게 사용하고 인식했는지 분석하며, 코드 생성, 프롬프트, 인간 개입, 그리고 학생 attitudes를 다룬다. 교육에서 LLM을 통합하기 위한 프레임워크를 제공하고 인간-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.

연구 동기 및 목표

  • 학문적이고 팀 기반 소프트웨어 엔지니어링 프로젝트에서 LLM의 유용성을 조사한다.
  • AI가 생성한 코드, 프롬프트, AI 출력의 통합에 필요한 인간 개입 수준을 분석한다.
  • 학생의 인식, 유용성, LLM 보조 코딩의 향후 전망을 평가한다.
  • AI 사용이 코딩 능력, 업무량, AI 경험에 어떻게 상관하는지 조사한다.
  • SE에서 인간-AI 협업 준비에 대한 교육적 시사점을 제시한다.

제안 방법

  • 세 가지 마일스톤에서 학생 저장소로부터 AI가 생성한 코드 산출물, 프롬프트, 인간 개입 주석을 수집한다.
  • 프롬프트를 미리 정의된 범주로 분류하고 프롬프트 사용을 정량화한다.
  • 통일된 기술 수용 및 사용 이론(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가 생성한 코드를 어떻게 활용하며 가장 일반적인 작업은 무엇인가?
  • RQ2AI가 생성한 코드를 학생 프로젝트에 통합하기 위해 필요한 인간 개입 수준은 어느 정도인가?
  • RQ3학생들은 CS 및 SE 경력에서 AI 코드 생성의 유용성 및 향후 영향에 대해 어떻게 인식하는가?
  • RQ4코딩 기술, 업무량, 이전 AI 경험, 유료 접근 여부가 AI 코드 생성기의 수용 및 사용에 어떤 영향을 미치는가?
  • RQ5사람이 검토하면 AI 보조 코딩이 코드의 정확성과 성능에 영향을 미치는가?

주요 결과

  • AI가 생성한 코드는 초기 구조, 기본 설계 패턴, 데이터 구조, 간단한 C++ 작업에 가장 많이 사용되며, 프롬프트에서 DFS형 솔루션이 자주 나타난다.
  • Copilot 출력은 종종 인간 개입이 필요했고, 유료 ChatGPT-4는 큰 변경이 필요하지 않은 반면, 무료 ChatGPT는 더 많은 개입이 필요했다.
  • AI가 생성한 조각당 평균 라인 수는 마일스톤이 진행될수록 증가하여 사용자가 더 큰 덩어리를 프롬프트하도록 학습했다고 시사한다.
  • Pareto 패턴이 등장했다: AI가 생성한 코드의 약 80%가 약 20%의 팀에서 나왔지만, AI 사용 수준이 다른 팀 간의 전체 코드 품질에는 큰 차이가 없었다.
  • UTAUT 분석에서 높은 행동 의향과 사용이 관찰되었고, FC, PE, EE, BI/U 간 강한 상관관계가 나타났으며, 코딩 기술과 유료 접근 여부가 사용을 조절했다.
  • 많은 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가 만들고, 인간 에디터가 검토했습니다.