← 最新论文
💻 computer science

CovAgent: Overcoming the 30% Curse of Mobile Application Coverage with Agentic AI and Dynamic Instrumentation

CovAgent 是一种新颖的智能体 AI 框架,它通过分析反编译代码来识别并动态满足复杂的激活条件,从而克服了现有 Android GUI 测试工具覆盖率有限的问题,进而显著提高了与最先进基准相比的 Activity、类、方法及代码行覆盖率。

原作者: Wei Minn, Biniam Fisseha Demissie, Yan Naing Tun, Jiakun Liu, Mariano Ceccato, Lwin Khin Shar, David Lo

发布于 2026-01-30
📖 1 分钟阅读☕ 轻松阅读

原作者: Wei Minn, Biniam Fisseha Demissie, Yan Naing Tun, Jiakun Liu, Mariano Ceccato, Lwin Khin Shar, David Lo

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

想象一下,你拥有一款规模庞大、极其复杂的 Android 应用,它就像一座数字主题公园,拥有数百个游乐设施(屏幕)和无数条秘密通道(代码路径)。你的目标是参观每一个游乐设施,以确保它们运行安全。

多年来,自动化测试工具就像是在这座主题公园里乱跑的蒙面导游。它们随机撞墙、按按钮,试图寻找新的游乐设施。但无论它们跑多久,始终会被困在同一个地方:它们只能访问大约 30% 的游乐设施。剩下的 70% 则被锁在了隐形的门后。

为什么这些门是锁着的?

  • 有些游乐设施只有在拥有特定钥匙(如服务器响应或特定用户账号)时才会开放。
  • 有些需要特定的位置(如 GPS 坐标)。
  • 有些需要你的口袋里装着特定的物品(如连接到手机的 SD 卡)。
  • 有些隐藏在守卫之后,守卫会检查你是否先完成了一系列特定的动作。

现有的工具太笨了,无法理解这些规则。它们只会不断地撞击那些锁着的门。

走进 CovAgent:拥有万能钥匙的“聪明侦探”

这篇论文介绍了一种名为 CovAgent 的新系统,它更像是一个聪明的侦探,并配备了一套神奇的工具箱。CovAgent 不再只是盲目地四处乱跑,而是利用 Agentic AI(一种能够思考、规划并使用工具的 AI)来破解为什么那些游乐设施被锁住的谜题。

以下是它的工作步骤:

1. 侦察兵(初步探索)

首先,CovAgent 会派出机器人(一个标准的、“笨拙”的模糊测试工具,如 APE 或 Fastbot)在应用中四处奔跑。这个机器人会绘制出它能够找到的所有游乐设施地图,并标记出那些它无法到达的设施。这就像是一个侦察兵在报告:“我找到了主入口,但我进不去后面的过山车。”

2. 侦探(静态分析智能体)

一旦侦察兵标记了一个锁定的游乐设施,侦探 AI 就会介入。它不只是盯着那扇门看,它还会研究主题公园的蓝图(应用的源代码)。

  • 它阅读“Smali 代码”(应用的指令手册)。
  • 它会自问:“为什么这个游乐设施被锁住了?它是需要服务器信号?需要 SD 卡?还是有一个检查密码的守卫?”
  • 利用**思维链(Chain-of-Thought)**技术,它将问题拆解:“好吧,这个游乐设施无法启动是因为代码在检查是否连接了 SD 卡。如果卡不在,游乐设施会立即关闭。”

3. 魔术师(动态插桩智能体)

现在,侦探已经知道了规则(“我们需要一张 SD 卡”),魔术师 AI 便登场了。这个智能体是一位可以在应用运行期间重写现实的巫师。

  • 它使用一个名为 Frida 的工具(一个强大的动态插桩框架)。
  • 它不会尝试去物理插入一张 SD 卡(因为机器人做不到),而是编写一段微小的脚本来欺骗应用
  • 脚本会告诉应用:“假装有一张 SD 卡已连接。”
  • 突然间,门前的守卫看到了那张“卡”,于是打开了大门,游乐设施开始运行。

4. 测试驾驶(验证)

在让机器人重新出发之前,系统会在一个安全的虚拟环境(模拟器)中测试这个新的“魔术技巧”。如果技巧失败了(例如,应用崩溃了),系统会将错误信息发回给魔术师,由魔术师重新编写脚本并再次尝试。一旦成功,该脚本就会被保存下来。

5. 盛大巡游(插桩探索)

最后,标准的机器人(模糊测试工具)再次运行。但这一次,应用加载了魔术师的脚本。机器人点击一个按钮,凭借着“魔法”,它能瞬间传送到之前无法到达的游乐设施。它现在可以探索主题公园中此前未知的 70% 的区域。

结果:打破诅咒

论文声称,这种方法完全打破了“30% 诅咒”。

  • 旧工具: 只能访问大约 17% 到 30% 的游乐设施。
  • CovAgent: 能够访问 49% 到 86% 的游乐设施(取决于具体的应用和所使用的工具)。
  • 在某些情况下,与旧方法相比,它的覆盖率提升了 179%

类比总结

  • 应用: 一座有着锁住的游乐设施的主题公园。
  • 旧工具: 在公园里乱扔飞镖的蒙面猴子。它们能撞到容易到达的地方,但无法打开锁着的门。
  • CovAgent: 一个由侦探(负责阅读蓝图以找到锁码)和魔术师(负责使用咒语瞬间开锁)组成的团队。
  • 结果: 猴子们现在可以参观主题公园里的每一个游乐设施,而不仅仅是靠近入口的地方。

论文强调,这不仅仅是为了发现更多 Bug,更是为了看到全貌。通过使用 AI 来理解为什么某些代码是无法触达的,并利用代码注入来打破这些障碍,CovAgent 让自动化测试终于能够触及移动应用的“黑暗角落”。

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

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

试用 Digest →