学费10000-25000元,平均每堂课200-300元,为每个学生提供经济实惠的编程教育。互联网上对学校学术实力的好评如潮,机构介绍清晰透明,师资团队备受认可,多元化教学项目满足不同学生需求,以学生成绩和学习效果为导向,获得学员家长高度评价。
想象一下,如果您可以对 ChatGPT 说:“尝试一下我的应用程序 5 分钟,然后让我知道您对入门体验的看法。” 或者,如果您可以提出诸如...我的 iOS 应用程序的 GUI 遵循常见做法吗?可以访问吗?在同一屏幕上使用这些特定 UI 控件的应用程序示例有哪些?
如果我们拥有丰富的应用程序 GUI 数据库和正确的 ML 模型,那么我们就可以回答这些问题并构建一个“理解”GUI 的视觉和交互设计的副驾驶工具,而不仅仅是代码!
人们曾多次尝试建立 GUI 数据库。不过,他们中的大多数人都是通过分析应用程序的源代码或字节码静态地完成此操作的。这有各种各样的限制:需要代码,只能分析视图层次结构,并忽略运行时生成的复杂 UI(例如在画布上绘图)的任何内容。许多还需要人工贴标签。
UIST'17 上有一篇论文在此类数据库方面取得了巨大进展: Rico: Deka 等人的用于构建数据驱动设计应用程序的移动应用程序数据集。(ACM)。
他们的系统自动运行许多很多 Android 应用程序,并引发众包工作者的互动。他们从 9,700 个应用程序中收集了 72,000 个界面。然后,他们使用这些数据来训练编码模型,以学习 UI 布局的嵌入。它可用于搜索 UI:
然后在 FSE'21 上,Frontmatter:大规模挖掘 Android 用户界面,作者:Kuznetsov 等人。(ACM)使该研究领域向前迈出了一大步。他们贡献了一个 GUI 数据的公共数据集,该数据集是从 160,000 个 Android 应用程序中进行静态分析的,人工标记。
较近,Wu 等人提出了“永无止境的用户界面学习” 。( ACM ) 发表于 UIST'23。他们设计了一个应用程序爬虫,可以从 Apple 应用商店安装真实的应用程序,并对其进行爬行以了解 UI。它使用不同的启发式方法与 UI 元素交互,以在爬行时更新其机器学习模型。
例如,它截取屏幕截图,使用现有模型来识别 UI 元素,然后点击或拖动它认为可以与之交互的元素,并根据效果更新模型以了解该元素是可点击的或可拖动。到目前为止,他们已经使用一组 iPhone 对 6,000 个应用程序执行了超过 500,000 次操作。
通过这样的研究,我们已经接近拥有可以像人类一样测试应用程序的人工智能。仍然需要一个决策层来模拟与哪个 UI 元素进行交互。这样它就可以测试特定的任务,而不是随机地进行测试。
几十年前,Chi 等人。使用信息搜寻理论来准确预测用户将如何浏览网页(请参阅他们的 CHI'01论文)。这种方法应用于这些应用程序收集的标准用户数据(即查看的屏幕和单击的带有时间戳的按钮),可用于训练 GUI 的决策模型。
那么,谁来构建一个支持 GUI 实时推理和交互的副驾驶呢?