← 最新论文
💻 computer science

ATGBuilder: Feature-Assisted Graph Learning for Activity Transition Graph Construction with Seed Supervision

ATGBuilder 是一个特征辅助的图学习框架,它利用大语言模型来总结 UI 元数据,并显式地对组件-触发器信息进行建模,从而与现有的最先进方法相比,显著提高了 Android 应用程序活动转换图(Activity Transition Graph)构建的准确性。

原作者: Chenhui Cui, Zixiang Xian, Danyu Li, Tao Li, Rubing Huang, Dave Towey, Shikai Guo, Jiakun Liu

发布于 2026-06-26
📖 1 分钟阅读☕ 轻松阅读

原作者: Chenhui Cui, Zixiang Xian, Danyu Li, Tao Li, Rubing Huang, Dave Towey, Shikai Guo, Jiakun Liu

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

想象一下,你拥有一个由数千个房间组成的巨大且复杂的迷宫。每个房间都是一个 Android 应用中的屏幕,而房间之间的门则是你在不同屏幕之间移动的方式。在软件测试的世界里,我们将这张地图称为活动转换图(Activity Transition Graph, ATG)。它是一份蓝图,展示了用户如何在应用中进行导航。

绘制这张地图极其困难:

  • 静态分析(在不运行应用的情况下查看其代码)就像是通过观察蓝图来绘制地图。它很快,但往往会错过那些只有在“开灯”时才会开启的门,或者画出一些通往砖墙的死路。
  • 动态探索(实际运行应用并点击操作)就像是派出一个机器人去迷宫中行走。它能找到真实的门,但机器人会累,会没电,而且在放弃之前只能绘制出迷宫极小的一部分。

AtgBuilder 是一款旨在解决这一问题的全新工具。它扮演着一位超级聪明的侦探角色,结合了阅读蓝图的速度与人类探索者的直觉,从而绘制出一张完整且准确的地图。

以下是它的工作原理,我们使用简单的类比来解释:

1. “摘要”技巧(解决“长得像”的问题)

想象两家不同的咖啡馆。一家设计现代、线条流畅,有着玻璃墙;另一家则是温馨的乡村小屋,有着木质横梁。它们看起来完全不同,但都提供同样的东西:咖啡

旧的方法试图通过观察“木头”或“玻璃”(具体的视觉布局)来绘制应用地图。这种方法失败了,因为相同的功能(如“登录”)在每个应用中看起来可能完全不同。

Atg-Builder 的解决方案: 它使用了一个大语言模型(LLM)——把它想象成一位非常聪明的图书管理员——来阅读屏幕的蓝图,并写下一句关于该屏幕“功能”的摘要。

  • 它不会说“这个屏幕有一个蓝色按钮和一个白色方框”,而是说:“这是登录界面。”
  • 现在,即使两个应用看起来截然不同,系统也能知道它们都是“登录界面”,并能预测它们如何与其他部分连接。它关注的是功能,而不是家具

2. “谁按了按钮?”技巧(解决“哪扇门?”的问题)

在一个房间里,你可能会看到红门、蓝门和绿门。如果你只说“从房间 A 到房间 B”,你并不知道是通过哪扇门过去的。但在应用中,你按下的特定按钮(组件/Widget)至关重要。

AtgBuilder 的解决方案: 它不仅仅是在两个房间之间画一条线,还在这条线上附带一个“标签”,说明究竟是哪个按钮打开了这扇门。

  • 它将按钮信息视为路径上的一个独立标签,而不仅仅是房间描述的一部分。
  • 为了确保能记住这些标签,它在训练过程中玩了一个小游戏:它尝试根据刚刚绘制的路径来猜出按钮的名字。如果猜对了,它就学得更好;如果猜错了,它就会进行调整。这确保了“谁按了按钮”这一细节不会丢失。

3. “智能猜测”引擎

一旦 AtgBuilder 拥有了摘要和按钮标签,它就会使用图神经网络(GNN)。你可以把它想象成一个超强的模式匹配器。

  • 它观察“登录界面”的摘要和“主页界面”的摘要。
  • 它观察其他应用是如何连接这两个屏幕的历史记录。
  • 它观察具体的按钮标签。
  • 然后,它进行预测:“存在一扇连接这两个屏幕的门的概率为 90%。”

它真的有效吗?

研究人员在 98 个不同的应用上测试了它,在这些应用中,已经由人类绘制好了“正确”的地图(地面真值/Ground Truth)。

  • 结果: AtgBuilder 的表现显著优于现有的最佳工具。与之前的方法相比,它将地图的准确度提高了约 15% 到 77%
  • “鲁棒性”测试: 他们甚至尝试通过喂给系统错误的数据(例如告诉它存在一扇并不存在的门)来欺骗系统。AtgBuilder 非常顽强;它不容易被迷惑,并且依然能绘制出良好的地图。

“GPS”加成

最后,研究人员问道:“如果我们把这张地图交给自动化的测试机器人,会有帮助吗?”

  • 他们拿了三个流行的测试机器人(Monkey、APE 和 FastBot2),并将 AtgBuilder 的地图作为“GPS 导航指南”交给了它们。
  • 结果: 这些机器人探索了更多的房间,并找到了更多的门,比它们独自探索时做得更多。这张地图并没有取代机器人,它只是给了它们更好的方向感,这样它们就不会在原地转圈浪费时间。

总结

AtgBuilder 是一个帮助我们理解 Android 应用运作方式的工具,它通过以下方式实现:

  1. 忽略杂乱的视觉细节,专注于屏幕实际的功能(使用 AI 摘要)。
  2. 记住究竟是哪个特定按钮打开了门。
  3. 使用智能模式匹配引擎来填补应用地图中缺失的部分

这使得我们能够获得更完整、更准确的应用地图,从而帮助开发人员和测试人员更快地发现 Bug 并理解软件。

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

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

试用 Digest →