arXiv cs.AI· Guancheng Wang, Qinghua Xu, Lionel C. Briand, Zhaoqiang Guo, Kui Liu·· 3 天前AI 评分24
CAT:面向 Java 项目的调用链感知 LLM 测试生成方法
Call-Chain-Aware LLM-Based Test Generation for Java Projects
AI 导读
CAT 是一种调用链感知的 LLM 测试生成方法,通过静态分析将调用链与依赖上下文显式注入提示词,建模调用者—被调用者关系、对象构造函数和第三方依赖,并支持生成失败时的迭代修复。
正文 · AI 翻译
摘要:大型语言模型(LLM)近期在生成项目级单元测试方面展现出强大潜力。然而,现有最先进的方法主要依赖执行路径信息来指导提示构建,这对于具有丰富类间依赖、深层调用链和复杂对象初始化要求的复杂软件系统往往不够。在本文中,我们提出了 CAT,一种新颖的调用链感知的基于 LLM 的测试生成方法,通过专门的静态分析将调用链和依赖上下文显式地纳入提示中。为了构建可执行、语义有效的测试上下文,CAT 系统地建模调用者-被调用者关系、对象构造函数和第三方依赖,并在生成失败时支持迭代式测试修复。我们在广泛使用的 Defects4J 基准以及 LLM 截止日期之后发布的四个真实 GitHub 项目上评估了 CAT,并将其与最先进的基于 LLM 的方法 PANTA 和基于搜索的工具 EvoSuite 进行了比较。结果表明,在 Defects4J 的各项目中,CAT 相比 PANTA 将行覆盖率、分支覆盖率和变异得分分别提高了 12.52、12.97 和 14.39 个百分点(相对提升 18.02%、21.52% 和 26.94%),相比 EvoSuite 分别提高了 9.67、4.17 和 15.70 个百分点(相对提升 13.37%、6.04% 和 30.13%)。在截止日期之后发布的项目上,CAT 在所有对比方法中也取得了最高的平均行覆盖率、分支覆盖率和变异得分。消融研究进一步证明了调用链和依赖上下文在 CAT 中的重要性。
| 主题: | 软件工程(cs.SE);人工智能(cs.AI) |
| 引用为: | arXiv:2604.22046 [cs.SE] |
| (或使用 arXiv:2604.22046v2 [cs.SE] 查看此版本) | |
| https://doi.org/10.48550/arXiv.2604.22046 由 DataCite 颁发的 arXiv DOI |
提交历史
来自:Guancheng Wang [查看邮箱]
[v1]
2026年4月23日星期四 20:03:18 UTC(231 KB)
[v2]
2026年10月11日星期日 00:10:08 UTC(247 KB)
来源:arXiv cs.AI · arxiv.org