[논문 리뷰] Software Testing with Large Language Models: Survey, Landscape, and Vision
소프트웨어 테스트에 LLM을 활용한 102건의 연구를 포괄적으로 분석하여 작업, LLM 사용, 프롬프트, 도전과제 및 향후 방향을 자세히 다룹니다.
Pre-trained large language models (LLMs) have recently emerged as a breakthrough technology in natural language processing and artificial intelligence, with the ability to handle large-scale datasets and exhibit remarkable performance across a wide range of tasks. Meanwhile, software testing is a crucial undertaking that serves as a cornerstone for ensuring the quality and reliability of software products. As the scope and complexity of software systems continue to grow, the need for more effective software testing techniques becomes increasingly urgent, making it an area ripe for innovative approaches such as the use of LLMs. This paper provides a comprehensive review of the utilization of LLMs in software testing. It analyzes 102 relevant studies that have used LLMs for software testing, from both the software testing and LLMs perspectives. The paper presents a detailed discussion of the software testing tasks for which LLMs are commonly used, among which test case preparation and program repair are the most representative. It also analyzes the commonly used LLMs, the types of prompt engineering that are employed, as well as the accompanied techniques with these LLMs. It also summarizes the key challenges and potential opportunities in this direction. This work can serve as a roadmap for future research in this area, highlighting potential avenues for exploration, and identifying gaps in our current understanding of the use of LLMs in software testing.
연구 동기 및 목표
- LLM 응용의 현황을 소프트웨어 테스트의 생애주기에 걸쳐 매핑한다.
- LLMs가 가장 일반적으로 다루는 소프트웨어 테스트 작업을 특징지운다(예: 테스트 케이스 준비, 디버깅, 버그 수정).
- 이 연구들에서 사용된 LLM 기술, 프롬프트 전략 및 동반 기법을 분석한다.
- 향후 연구 및 실천을 안내하기 위한 주요 도전과제와 기회를 식별한다.
제안 방법
- 2019–2023년의 ACM/IEEE/arXiv/DBLP 및 상위 SE/AI 학술지에서의 자동 및 수동 문헌 조사, 2023년 10월까지 연장.
- LLM을 소프트웨어 테스트 작업에 구체적으로 적용하는 논문을 선별하기 위한 포함/배제 기준.
- 엄격성을 보장하기 위한 채점 척도(최소 여덟 점)로 품질 평가.
- 문헌 커버리지를 보강하기 위한 백워드 스노볼링.
- 소프트웨어 테스트 관점(작업, 커버리지)과 LLM 관점(모델, 프롬프트, 기법)에서의 연구 분류.
- 트렌드, 한계 및 향후 연구 로드맵의 합성.
실험 결과
연구 질문
- RQ1LLMs가 일반적으로 다루는 소프트웨어 테스트 작업은 무엇인가(예: 테스트 케이스 준비, 프로그램 수리, 테스트 오라클 생성, 시스템 입력 생성)?
- RQ2연구들에서 사용되는 어떤 LLM, 프롬프트 유형, 입력 형태, 동반 기법이 있는가?
- RQ3지배적인 평가 방법과 LLM 기반 테스트의 보고된 성능 동향은 무엇인가?
- RQ4소프트웨어 테스트에 LLM을 적용할 때 남아 있는 간극, 도전 과제 및 기회는 무엇이며 이를 어떻게 해결할 수 있는가?
주요 결과
- LLMs는 테스트 케이스 준비, 프로그램 디버깅 및 버그 수정에 가장 자주 적용된다.
- 연구의 약 3분의 1은 LLM의 사전 학습 또는 미세 조정을 사용하고, 나머지는 프롬프트 엔지니어링에 의존한다.
- 제로샷 및 소수샷 프롬프트가 가장 일반적인 전략이며, 체인 오브 생각(chain-of-thought)과 자기일관성(self-consistency)은 덜 활용된다.
- 전통적인 테스트 기법(예: 차별 테스트, 돌연변이 테스트)이 테스트 생성 향상을 위해 LLM과 함께 자주 사용된다.
- 초기 테스트 생애주기 단계와 비기능적 테스트에 LLM을 적용하는 데 뚜렷한 격차가 있어 향후 연구 방향을 제시한다.
- 본 조사는 출판 동향, 일반적인 학술지, 실무 채택과의 간극을 가속화하기 위한 로드맵을 제공한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.