Saved in:
Bibliographic Details
Main Authors: Zhang, Yuwei, Lu, Qingyuan, Liu, Kai, Dou, Wensheng, Zhu, Jiaxin, Qian, Li, Zhang, Chunxi, Lin, Zheng, Wei, Jun
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2501.16155
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916890826244096
author Zhang, Yuwei
Lu, Qingyuan
Liu, Kai
Dou, Wensheng
Zhu, Jiaxin
Qian, Li
Zhang, Chunxi
Lin, Zheng
Wei, Jun
author_facet Zhang, Yuwei
Lu, Qingyuan
Liu, Kai
Dou, Wensheng
Zhu, Jiaxin
Qian, Li
Zhang, Chunxi
Lin, Zheng
Wei, Jun
contents Unit testing plays a pivotal role in the software development lifecycle, as it ensures code quality. However, writing high-quality unit tests remains a time-consuming task for developers in practice. More recently, the application of large language models (LLMs) in automated unit test generation has demonstrated promising results. Existing approaches primarily focus on interpreted programming languages (e.g., Java), while mature solutions tailored to compiled programming languages like C++ are yet to be explored. The intricate language features of C++, such as pointers, templates, and virtual functions, pose particular challenges for LLMs in generating both executable and high-coverage unit tests. To tackle the aforementioned problems, this paper introduces CITYWALK, a novel LLM-based framework for C++ unit test generation. CITYWALK enhances LLMs by providing a comprehensive understanding of the dependency relationships within the project under test via program analysis. Furthermore, CITYWALK incorporates language-specific knowledge about C++ derived from project documentation and empirical observations, significantly improving the correctness of the LLM-generated unit tests. We implement CITYWALK by employing the widely popular LLM GPT-4o. The experimental results show that CITYWALK outperforms current state-of-the-art approaches on a collection of ten popular C++ projects. Our findings demonstrate the effectiveness of CITYWALK in generating high-quality C++ unit tests.
format Preprint
id arxiv_https___arxiv_org_abs_2501_16155
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle CITYWALK: Enhancing LLM-Based C++ Unit Test Generation via Project-Dependency Awareness and Language-Specific Knowledge
Zhang, Yuwei
Lu, Qingyuan
Liu, Kai
Dou, Wensheng
Zhu, Jiaxin
Qian, Li
Zhang, Chunxi
Lin, Zheng
Wei, Jun
Software Engineering
Unit testing plays a pivotal role in the software development lifecycle, as it ensures code quality. However, writing high-quality unit tests remains a time-consuming task for developers in practice. More recently, the application of large language models (LLMs) in automated unit test generation has demonstrated promising results. Existing approaches primarily focus on interpreted programming languages (e.g., Java), while mature solutions tailored to compiled programming languages like C++ are yet to be explored. The intricate language features of C++, such as pointers, templates, and virtual functions, pose particular challenges for LLMs in generating both executable and high-coverage unit tests. To tackle the aforementioned problems, this paper introduces CITYWALK, a novel LLM-based framework for C++ unit test generation. CITYWALK enhances LLMs by providing a comprehensive understanding of the dependency relationships within the project under test via program analysis. Furthermore, CITYWALK incorporates language-specific knowledge about C++ derived from project documentation and empirical observations, significantly improving the correctness of the LLM-generated unit tests. We implement CITYWALK by employing the widely popular LLM GPT-4o. The experimental results show that CITYWALK outperforms current state-of-the-art approaches on a collection of ten popular C++ projects. Our findings demonstrate the effectiveness of CITYWALK in generating high-quality C++ unit tests.
title CITYWALK: Enhancing LLM-Based C++ Unit Test Generation via Project-Dependency Awareness and Language-Specific Knowledge
topic Software Engineering
url https://arxiv.org/abs/2501.16155