← 最新论文
💻 computer science

MuMuTestUp: Mutation-based Multi-Agent Test Case Update

MuMuTestUp 是一个由突变引导的多智能体框架,通过解决断言充分性、细粒度覆盖和检索幻觉问题,增强演进软件系统中的自动测试用例更新,并经由新数据集及与最先进大语言模型的评估得到验证。

原作者: Dawei Tian (Harbin Institute of Technology), Jiakun Liu (Harbin Institute of Technology), Yun Peng (The Chinese University of Hong Kong), Yichen Zhang (Harbin Institute of Technology), Jianlei Chi (Xi
发布于 2026-05-20
📖 1 分钟阅读☕ 轻松阅读

原作者: Dawei Tian (Harbin Institute of Technology), Jiakun Liu (Harbin Institute of Technology), Yun Peng (The Chinese University of Hong Kong), Yichen Zhang (Harbin Institute of Technology), Jianlei Chi (Xidian University), Jun Sun (Singapore Management University), Xiaohong Su (Harbin Institute of Technology)

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象你是一位经营繁忙餐厅的厨师。每天,你都会更新你的菜单(即软件代码)。有时你会添加一道新菜,有时你会更改旧菜的配料。

现在,想象你有一支品鉴师团队(即测试用例),他们的工作是确保每道菜的味道都完全符合食谱的要求。

问题在于:当你更改食谱时,旧的品鉴测试往往会失效。也许新菜使用了不同的香料,导致旧的测试报错:“味道不对!”尽管新食谱其实是正确的。或者,测试试图使用厨房中已不存在的工具,导致整个品鉴环节崩溃。

过去,厨师们试图手动修复这些失效的测试,但这既缓慢又容易出错。最近,人们开始使用AI 厨师(大型语言模型)来自动重写品鉴测试。但这些 AI 厨师存在三个大问题:

  1. 它们太懒惰了:它们会直接删除测试中抱怨的部分,让测试“通过”,而实际上并未检查食物是否合格。这就像品鉴师说:“我不再品尝这个了,所以它肯定没问题。”
  2. 它们忽略了细节:它们只检查厨师是否触碰了炉灶(行覆盖率),却没有检查厨师是否将旋钮调到了“高”或“低”(分支覆盖率)。它们遗漏了微妙的逻辑。
  3. 它们被“幽灵”搞糊涂了:如果 AI 厨师编造了一个虚假的食材名称(即“幻觉”),旧的搜索工具因为只查找完全匹配的词,无法在厨房中找到它,从而束手无策。

登场:MuMuTestUp(AI 厨师超级团队)

这篇论文的作者创建了一个名为MuMuTestUp的新系统。他们不是让一个 AI 厨师包揽所有工作,而是组建了一支由专业智能体(机器人)组成的团队,它们像高端厨房的协作团队一样协同工作。

以下是他们团队的工作方式,使用简单的类比说明:

1. “变异侦探”(断言智能体)

  • 问题:旧的 AI 厨师会编写通过一切(哪怕是劣质食物)的薄弱测试。
  • 解决方案:这个智能体玩一场“破坏”游戏。它秘密地轻微更改食谱(注入一个“变异体”或微小漏洞),看看品鉴师能否察觉。
  • 类比:想象该智能体在食谱中秘密将盐换成了糖。如果品鉴师没注意到区别,该智能体就会告诉 AI 厨师:“嘿,你的测试太弱了!你需要更仔细地品尝,才能发现这个糖。”这迫使 AI 编写更强大、更严格的测试。

2. “覆盖率检查员”(覆盖率智能体)

  • 问题:旧的方法只检查厨师是否触碰了炉灶,而没有检查他们是否使用了所有设置。
  • 解决方案:该智能体观察厨房并指出:“你使用了‘高’火设置,但从未尝试过‘低’火设置。去测试那个!”
  • 类比:它不只是问“你做饭了吗?”,而是问“你是否既做了全熟的牛排,也做了三分熟的牛排?”它确保测试覆盖代码可能采取的所有路径,而不仅仅是主要路径。

3. “智能图书管理员”(语义检索智能体)

  • 问题:如果 AI 厨师幻觉出一个虚假的食材名称,旧的搜索工具会说:“我找不到那个确切的词”,然后放弃。
  • 解决方案:该智能体使用“含义”而非“确切拼写”。
  • 类比:如果 AI 厨师索要“一种红色的辛辣粉末”,图书管理员不会只查找"Paprika"这个词。它理解这个概念,并找到正确的罐子,即使 AI 厨师的名字略有错误。它通过帮助 AI 找到正确的现实世界工具来修正其错误。

新的“食谱书”(Prbench)

为了证明其系统有效,作者没有仅使用旧的简单示例。他们构建了一个名为Prbench的大型新数据集。

  • 类比:他们不是在单个孤立的食谱变更上测试厨师,而是在整个“菜单大改”(Pull Requests)上测试他们,其中数十道食谱同时变更。这更像现实生活,一家餐厅可能会一次性更新整个夏季菜单。

结果

当他们将 MuMuTestUp 与现有的最佳 AI 厨师进行对比测试时:

  • 它修复了更多失效的测试:它让测试重新运行的频率高得多。
  • 它测试得更深入:它检查了更多的代码“路径”(分支覆盖率),并发现了更多的“漏洞”(变异得分)。
  • 它更聪明:它没有仅仅删除困难的部分,而是真正修复了它们。

一句话总结

MuMuTestUp 是一个智能的、基于团队的 AI 系统,用于更新软件测试。它不仅仅是确保测试能够运行,而是确保测试是彻底、严格且准确的。它使用一个专家团队——一个负责通过破坏来测试强度,一个负责检查每个角度,一个负责即使在 AI 困惑时也能找到正确信息——确保当软件变更时,安全网能接住每一次跌落。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →