当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
IEEE Transactions on Software Engineering ( IF 7.4 ) Pub Date : 2020-02-01 , DOI: 10.1109/tse.2018.2844788
Kevin Moran , Carlos Bernal-Cardenas , Michael Curcio , Richard Bonett , Denys Poshyvanyk

It is common practice for developers of user-facing software to transform a mock-up of a graphical user interface (GUI) into code. This process takes place both at an application's inception and in an evolutionary context as GUI changes keep pace with evolving features. Unfortunately, this practice is challenging and time-consuming. In this paper, we present an approach that automates this process by enabling accurate prototyping of GUIs via three tasks: detection, classification, and assembly. First, logical components of a GUI are detected from a mock-up artifact using either computer vision techniques or mock-up metadata. Then, software repository mining, automated dynamic analysis, and deep convolutional neural networks are utilized to accurately classify GUI-components into domain-specific types (e.g., toggle-button). Finally, a data-driven, K-nearest-neighbors algorithm generates a suitable hierarchical GUI structure from which a prototype application can be automatically assembled. We implemented this approach for Android in a system called ReDraw. Our evaluation illustrates that ReDraw achieves an average GUI-component classification accuracy of 91 percent and assembles prototype applications that closely mirror target mock-ups in terms of visual affinity while exhibiting reasonable code structure. Interviews with industrial practitioners illustrate ReDraw's potential to improve real development workflows.

中文翻译:

基于机器学习的移动应用图形用户界面原型设计

面向用户的软件的开发人员通常会将图形用户界面 (GUI) 的模型转换为代码。这个过程发生在应用程序的初始阶段和演进环境中,因为 GUI 的变化与不断发展的功能保持同步。不幸的是,这种做法具有挑战性且耗时。在本文中,我们提出了一种方法,通过三个任务实现 GUI 的准确原型设计,从而使该过程自动化:检测、分类和组装。首先,使用计算机视觉技术或模型元数据从模型工件中检测 GUI 的逻辑组件。然后,软件存储库挖掘、自动动态分析和深度卷积神经网络被用来准确地将 GUI 组件分类为特定于域的类型(例如,切换按钮)。最后,数据驱动的 K 近邻算法生成合适的分层 GUI 结构,从中可以自动组装原型应用程序。我们在名为 ReDraw 的系统中为 Android 实现了这种方法。我们的评估表明,ReDraw 实现了 91% 的平均 GUI 组件分类准确率,并组装了原型应用程序,这些应用程序在视觉亲和力方面密切反映了目标模型,同时展示了合理的代码结构。对行业从业者的采访说明了 ReDraw 改进实际开发工作流程的潜力。我们的评估表明,ReDraw 实现了 91% 的平均 GUI 组件分类准确率,并组装了原型应用程序,这些应用程序在视觉亲和力方面密切反映了目标模型,同时展示了合理的代码结构。对行业从业者的采访说明了 ReDraw 改进实际开发工作流程的潜力。我们的评估表明,ReDraw 实现了 91% 的平均 GUI 组件分类准确率,并组装了原型应用程序,这些应用程序在视觉亲和力方面密切反映了目标模型,同时展示了合理的代码结构。对行业从业者的采访说明了 ReDraw 改进实际开发工作流程的潜力。
更新日期:2020-02-01
down
wechat
bug