☰
SeedSteer: Guiding Large Language Models with Compilable Prefix and Branch Signals for Unit Test...
2026/10/14 7:09:02 网站建设 项目流程

文章主要内容和创新点

主要内容

本文聚焦于基于大型语言模型(LLM)的单元测试生成,提出了一种名为Seed&Steer的两阶段方法,旨在解决LLM生成单元测试时面临的编译成功率低和测试覆盖率不足的问题。

  1. 问题分析:将单元测试生成拆解为前缀生成(构建测试环境)和断言生成(验证方法正确性),并定义“初始化复杂度”(影响编译成功)和“环路复杂度”(影响覆盖率)以量化两者的挑战。
  2. 方法设计:
    • Seed阶段:利用传统单元测试工具(如EvoSuite)生成高编译成功率的方法调用作为“种子”,引导LLM构建可编译的测试前缀,提升编译成功率。
    • Steer阶段:提取目标方法的条件分支信号,生成分支意图,结合函数意图引导LLM探索多样执行路径(正常、边界、异常情况),生成高覆盖率的断言。
  3. 实验验证:在5个真实Java项目上与现有方法对比,结果显示Seed&Steer将编译成功率提升约7%,修复了两个LLM上792和887个失败案例;分支和行覆盖率最高达73%,相对提升1.09×至1.26×。
创新点
  1. 视角创新:首次将LLM-based单元测试生成拆解为前缀生成和断言生成,揭示前者主要影响编译成功、后者主要影响覆盖率的规律。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询