论文
ConCovUp:用于并发测试的有效的基于代理的测试驱动程序生成
ConCovUp: Effective Agent-Based Test Driver Generation for Concurrency Testing
摘要
并发测试对于提高多线程程序的可靠性和安全性至关重要。动态分析工具(例如 TSan)依赖于在运行时实现关键共享内存交互的高质量测试驱动程序。然而,当前的测试实践主要集中在顺序逻辑上,在自动并发测试生成方面留下了空白。最近,大语言模型 (LLM) 在生成顺序测试方面表现出了希望,但在没有深入理解并发语义的情况下,它们很难生成有效的并发测试。本文提出了 ConCovUp,一个将 LLM 与程序分析相结合的多智能体框架。 ConCovUp 将测试生成基于静态分析,以提取共享内存访问及其调用上下文。为了触发难以到达的访问,它引入了 LLM 驱动的反向跟踪方法,利用模型的语义推理来推断满足复杂路径约束的具体输入,并通过动态执行反馈迭代地细化生成的测试。我们对 9 个真实 C/C++ 库的评估表明,ConCovUp 将平均共享内存访问对覆盖率(SMAP 覆盖率)从一般 Claude Code 代理基线的 36.6% 提高到 68.1%。