论文

通过不同视角聚合生成基于代理的测试断言

Agent-Based Test Assertion Generation via Diverse Perspective Aggregation

智能体系统Agent 协作

摘要

测试断言是单元测试的关键要素,充当验证预期行为并确保软件正确性的检查点。人们已经提出了许多技术来自动生成断言,最近的进展主要是由 大语言模型 (LLM) 推动的。尽管有这样的承诺,但 ChatAssert 等现有方法的准确性较低、严重依赖过采样,并且由于一次性提示而容易受到模型随机性的影响。为了解决这些限制,我们提出了 AssertMate,一种新颖的基于代理的断言生成框架,通过三个关键组件增强 LLM 生成的断言的质量和可靠性:(1)实际值构造,通过静态分析和类型感知启发式识别断言目标; (2)使用代码生成、检索增强生成(RAG)和思想链(CoT)推理代理进行多视角期望值预测; (3) LLM-as-a-Judge 协作机制来选择最合适的断言。对 Defects4J 基准的评估表明,AssertMate 在编译成功率和通过率方面显着优于最先进的技术,并且具有更高的错误检测能力。与 EvoSuite 的集成进一步验证了 AssertMate 的实用性,产生卓越的突变覆盖率和杀死计数。消融研究表明,这三个组成部分中的每一个都对整体性能做出了重要且互补的贡献。这项工作肯定了聚合不同观点以提高基于 LLM 的断言生成的有效性的巨大潜力。