Skip to main content
QUICK REVIEW

[논문 리뷰] A Survey on Large Language Models for Software Engineering

Quanjun Zhang, Chunrong Fang|arXiv (Cornell University)|2023. 12. 23.
Software Engineering Research인용 수 18
한 줄 요약

소 systematic survey summarize the state-of-the-art in LLMs for software engineering, detailing 62 code LLMs, 15 pre-training objectives, 16 downstream SE tasks, and 947 SE studies across five workflow phases, with a living public repository.

ABSTRACT

Software Engineering (SE) is the systematic design, development, maintenance, and management of software applications underpinning the digital infrastructure of our modern world. Very recently, the SE community has seen a rapidly increasing number of techniques employing Large Language Models (LLMs) to automate a broad range of SE tasks. Nevertheless, existing information of the applications, effects, and possible limitations of LLMs within SE is still not well-studied. In this paper, we provide a systematic survey to summarize the current state-of-the-art research in the LLM-based SE community. We summarize 62 representative LLMs of Code across three model architectures, 15 pre-training objectives across four categories, and 16 downstream tasks across five categories. We then present a detailed summarization of the recent SE studies for which LLMs are commonly utilized, including 947 studies for 112 specific code-related tasks across five crucial phases within the SE workflow. We also discuss several critical aspects during the integration of LLMs into SE, such as empirical evaluation, benchmarking, security and reliability, domain tuning, compressing and distillation. Finally, we highlight several challenges and potential opportunities on applying LLMs for future SE studies, such as exploring domain LLMs and constructing clean evaluation datasets. Overall, our work can help researchers gain a comprehensive understanding about the achievements of the existing LLM-based SE studies and promote the practical application of these techniques. Our artifacts are publicly available and will be continuously updated at the living repository: https://github.com/iSEngLab/AwesomeLLM4SE.

연구 동기 및 목표

  • LLM 기반 소프트웨어 엔지니어링(LLM4SE)의 현재 최첨단 상태를 요약한다.
  • 아키텍처, 사전 학습 목표, 다운스트림 작업별로 대표적인 코드 LLM을 분류한다.
  • LLM이 촉진하는 SE 작업과 SE 수명주기 전반의 단계들을 맵핑한다.
  • 통합, 평가, 벤치마킹, 보안 및 도메인 튜닝상의 도전과제를 논의한다.
  • LLM 기반 SE 연구를 위한 열린 과학 산출물과 향후 방향을 제공한다.

제안 방법

  • SE 및 LLM 관련 키워드를 사용하여 Google Scholar, ACM Digital Library, IEEE Explorer에서 자동 검색을 수행한다.
  • Snowballing 및 수동 선별로 자동 결과를 보강한다.
  • 논문을 코드 LLM, LLM으로 촉진된 SE 연구, 통합 측면으로 분류한다.
  • 관련 논문 1009편의 정량적 합산(코드-LLM 논문 59편, LLM 기반 SE 논문 912편)과 질적 합성을 수행한다.
  • 아티팩트 및 진행 추적을 위한 공개적인 Living 저장소: AwesomeLLM4SE.

실험 결과

연구 질문

  • RQ1RQ1 (LLM 관점): SE를 지원하기 위해 어떤 LLM이 출시되었는지, 그들의 사전 학습 작업, 다운스트림 작업, 그리고 오픈 사이언스 상태는 무엇인가?
  • RQ2RQ2 (SE 관점): 요구사항/설계, 개발, 테스트, 유지보수, 관리 전반에서 LLM이 촉진하는 SE 작업은 무엇인가?
  • RQ3RQ3 (통합 관점): SE에 LLM을 통합할 때 평가, 벤치마킹, 보안/신뢰성, 도메인 튜닝, 압축/증류의 핵심 요소는 무엇인가?

주요 결과

  • 본 조사는 인코더 전용, 인코더-디코더, 디코더 전용 아키텍처에 걸친 62개의 대표 코드 LLM을 분석한다.
  • 4개 그룹으로 분류된 15개의 사전 학습 목표를 확인한다(코드 시퀀스 모델링, 양방향 코드-NLP 이해, 코드 구조, 그리고 다중 모드 학습).
  • 다섯 가지 SE 수명주기에 걸친 16개의 다운스트림 작업이 있어 SE에서의 LLM의 광범위한 적용 가능성을 보여준다.
  • 총 947건의 SE 연구가 다섯 가지 SE 단계에 걸쳐 112개의 코드 관련 작업을 다루며, 이 분야의 빠른 성장을 시사한다.
  • 문헌 수집은 2020–2024년 사이의 1009편의 관련 논문을 포함하며, 주요 학술지로 ICSE, FSE, ACL, ASE, ISSTA가 있다.
  • 저자들은 진행 상황을 추적하고 열린 과학을 지원하기 위한 살아있는 공개 저장소(AwesomeLLM4SE)를 제공한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.