Software Testing With Large Language Models: Survey, Landscape, and Vision

Тестирование программного обеспечения с помощью больших языковых моделей: обзор, ландшафт и видение
Qing Wang, Junjie Wang, Yuchao Huang, Chunyang Chen, Zhe Liu, Song Wang
2024-02-20

large language modelsprogram repairprompt engineeringsoftware testingtest case preparation
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.
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.

Pre-trained large language models (LLMs) applied to software testing

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
Authors
Qing Wang
Junjie Wang
Yuchao Huang
Chunyang Chen
Zhe Liu
Song Wang
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%