Advancing Code Coverage: Incorporating Program Analysis with Large Language Models
Not on the map. Why?
Abstract (arXiv)
Automatic test generation plays a critical role in software quality assurance. While the recent advances in Search-Based Software Testing (SBST) and Large Language Models (LLMs) have shown promise in generating useful tests, these techniques still struggle to cover certain branches. Reaching these hard-to-cover branches usually requires constructing complex objects and resolving intricate inter-procedural dependencies in branch conditions, which poses significant challenges for existing test generation techniques. In this work, we propose TELPA, a novel technique aimed at addressing these challenges. Its key insight lies in extracting real usage scenarios of the target method under test to learn how to construct complex objects and extracting methods entailing inter-procedural dependencies with hard-to-cover branches to learn the semantics of branch constraints. To enhance efficiency and effectiveness, TELPA identifies a set of ineffective tests as counter-examples for LLMs and employs a feedback-based process to iteratively refine these counter-examples. Then, TELPA integrates program analysis results and counter-examples into the prompt, guiding LLMs to gain deeper understandings of the semantics of the target method and generate diverse tests that can reach the hard-to-cover branches. Our experimental results on 27 open-source Python projects demonstrate that TELPA significantly outperforms the state-of-the-art SBST and LLM-based techniques, achieving an average improvement of 31.39% and 22.22% in terms of branch coverage.
Key facts. Cited by 9 papers in the map (data through 14 Oct 2026). First posted on arXiv 7 Apr 2024.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 6; 2026: 3.
9 papers.
- 2025CoRe: Benchmarking LLMs Code Reasoning Capabilities through Static Analysis Taskscited by 24
- 2025Evaluating LLM-Based Regression Test Generationcited by 6
- 2025Nexus: Execution-Grounded Multi-Agent Test Oracle Synthesiscited by 4
- 2025Clarifying Semantics of In-Context Examples for Unit Test Generationcited by 3
- 2025Large Language Models for Software Testing: A Research Roadmapcited by 2
- 2026LogicHunter: Testing LLM Agent Frameworks with an Agentic Oraclecited by 2
- 2025Navigating the Labyrinth: Path-Sensitive Unit Test Generation with Large Language Modelscited by 1
- 2026Planning to Explore: Curiosity-Driven Planning for LLM Test Generationcited by 1
- 2026Complex Agents, Shallow Tests: Demystifying and Enhancing Test Adequacy of Agent Harness in the Wildcited by 0
- 2026Complex Agents, Shallow Tests: Demystifying and Enhancing Test Adequacy of Agent Harness in the Wild4 Oct 2026
- 2026LogicHunter: Testing LLM Agent Frameworks with an Agentic Oracle7 Jul 2026
- 2026Planning to Explore: Curiosity-Driven Planning for LLM Test Generation6 Apr 2026
- 2025Nexus: Execution-Grounded Multi-Agent Test Oracle Synthesis30 Oct 2025
- 2025Clarifying Semantics of In-Context Examples for Unit Test Generation2 Oct 2025
- 2025Large Language Models for Software Testing: A Research Roadmap29 Sep 2025
- 2025Navigating the Labyrinth: Path-Sensitive Unit Test Generation with Large Language Models28 Sep 2025
- 2025CoRe: Benchmarking LLMs Code Reasoning Capabilities through Static Analysis Tasks3 Jul 2025
- 2025Evaluating LLM-Based Regression Test Generation19 Jan 2025