Software Testing With Large Language Models: Survey, Landscape, and Vision
Тестирование программного обеспечения с помощью больших языковых моделей: обзор, ландшафт и видение
2024-02-20
SCID: 54.1/gtntgre3
Discuss with AI
large language modelsprogram repairprompt engineeringsoftware testingtest case preparation
Figures from the paper
Abstract (AI)
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.
Key Findings
1
LLMs are commonly used for multiple software testing tasks, with test case preparation and program repair identified as the most representative applications.
2
The paper identifies key challenges and potential opportunities for using LLMs in software testing and proposes a roadmap to guide future research.
3
The paper reviews 102 studies that apply large language models (LLMs) to software testing, synthesizing insights from both testing and LLM perspectives.
4
The survey analyzes commonly used LLMs, prompt engineering strategies, and accompanying techniques employed in LLM-based software testing workflows.
5
The work highlights gaps in current understanding of LLMs' role in software testing and suggests avenues for further exploration.
Research Object
Pre-trained large language models (LLMs) applied to software testing
Research Subject
Applications, capabilities, techniques, challenges, and opportunities of LLMs for software testing tasks (e.g., test case preparation and program repair), including prompt engineering and accompanying methods
Publication Details
Publication Date
2024-02-20
Journal
Publisher
ISSN
Cited by
489
Access Type
Author Information
Download PDF
Subscribe to digest