CITYWALK:通过项目依赖关系感知和语言特定知识来提升基于大语言模型的C++单元测试生成能力
《ACM Transactions on Software Engineering and Methodology》:CITYWALK: Enhancing LLM-Based C++ Unit Test Generation via Project-Dependency Awareness and Language-Specific Knowledge
【字体:
大
中
小
】
时间:2025年11月08日
来源:ACM Transactions on Software Engineering and Methodology
编辑推荐:
针对C++单元测试生成效率低的问题,本文提出基于LLM的CITYWALK框架,通过程序分析和领域知识增强,有效生成高覆盖率的测试用例,实验证明其优于现有方法。
摘要
单元测试在软件开发生命周期中起着关键作用,因为它能够确保代码质量。然而,在实际开发过程中,编写高质量的单元测试仍然是一项耗时的任务。最近,大型语言模型(LLMs)在自动化单元测试生成方面的应用展现出了令人鼓舞的结果。现有的方法主要针对解释型编程语言(例如Java),而针对编译型编程语言(如C++)的成熟解决方案尚未得到充分探索。C++的复杂语言特性,如指针、模板和虚函数,给LLMs生成可执行且覆盖范围广的单元测试带来了特殊挑战。为了解决这些问题,本文介绍了一个基于LLM的C++单元测试生成框架CITYWALK。该框架通过程序分析帮助LLMs全面理解被测试项目中的依赖关系,同时结合从项目文档和实际观察中获得的C++语言特定知识,显著提高了LLMs生成的单元测试的正确性。我们使用广泛流行的LLM GPT-4o来实现CITYWALK。实验结果表明,在十个流行的C++项目中,CITYWALK的表现优于当前最先进的方法。我们的研究结果证明了CITYWALK在生成高质量C++单元测试方面的有效性。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号