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号