Navigating the Labyrinth: Path-Sensitive Unit Test Generation with Large Language Models

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Liao, Dianshu, Yin, Xin, Pan, Shidong, Ni, Chao, Xing, Zhenchang, Sun, Xiaoyu
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914087324090368
author Liao, Dianshu
Yin, Xin
Pan, Shidong
Ni, Chao
Xing, Zhenchang
Sun, Xiaoyu
author_facet Liao, Dianshu
Yin, Xin
Pan, Shidong
Ni, Chao
Xing, Zhenchang
Sun, Xiaoyu
contents Unit testing is essential for software quality assurance, yet writing and maintaining tests remains time-consuming and error-prone. To address this challenge, researchers have proposed various techniques for automating unit test generation, including traditional heuristic-based methods and more recent approaches that leverage large language models (LLMs). However, these existing approaches are inherently path-insensitive because they rely on fixed heuristics or limited contextual information and fail to reason about deep control-flow structures. As a result, they often struggle to achieve adequate coverage, particularly for deep or complex execution paths. In this work, we present a path-sensitive framework, JUnitGenie, to fill this gap by combining code knowledge with the semantic capabilities of LLMs in guiding context-aware unit test generation. After extracting code knowledge from Java projects, JUnitGenie distills this knowledge into structured prompts to guide the generation of high-coverage unit tests. We evaluate JUnitGenie on 2,258 complex focal methods from ten real-world Java projects. The results show that JUnitGenie generates valid tests and improves branch and line coverage by 29.60% and 31.00% on average over both heuristic and LLM-based baselines. We further demonstrate that the generated test cases can uncover real-world bugs, which were later confirmed and fixed by developers.
format Preprint
id arxiv_https___arxiv_org_abs_2509_23812
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Navigating the Labyrinth: Path-Sensitive Unit Test Generation with Large Language Models
Liao, Dianshu
Yin, Xin
Pan, Shidong
Ni, Chao
Xing, Zhenchang
Sun, Xiaoyu
Software Engineering
Artificial Intelligence
Unit testing is essential for software quality assurance, yet writing and maintaining tests remains time-consuming and error-prone. To address this challenge, researchers have proposed various techniques for automating unit test generation, including traditional heuristic-based methods and more recent approaches that leverage large language models (LLMs). However, these existing approaches are inherently path-insensitive because they rely on fixed heuristics or limited contextual information and fail to reason about deep control-flow structures. As a result, they often struggle to achieve adequate coverage, particularly for deep or complex execution paths. In this work, we present a path-sensitive framework, JUnitGenie, to fill this gap by combining code knowledge with the semantic capabilities of LLMs in guiding context-aware unit test generation. After extracting code knowledge from Java projects, JUnitGenie distills this knowledge into structured prompts to guide the generation of high-coverage unit tests. We evaluate JUnitGenie on 2,258 complex focal methods from ten real-world Java projects. The results show that JUnitGenie generates valid tests and improves branch and line coverage by 29.60% and 31.00% on average over both heuristic and LLM-based baselines. We further demonstrate that the generated test cases can uncover real-world bugs, which were later confirmed and fixed by developers.
title Navigating the Labyrinth: Path-Sensitive Unit Test Generation with Large Language Models
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2509.23812