Affiliation:
1. ETH Zurich, Switzerland
Abstract
We present a novel approach for synthesizing robust relational layouts from examples. Given an application design consisting of a set of views and their location on the screen, we synthesize a relational layout that when rendered, places the components at that same location.
We present an end-to-end system, called InferUI, that addresses the above challenge in the context of Android. The system is based on the following technical contributions: (i) a formalization of the latest and most efficient ConstraintLayout class, capturing a rich set of relational constraints, (ii) a set of robustness properties designed to prevent common layout generalization errors, (iii) a synthesis algorithm that produces relational layouts that generalize across multiple screen sizes and resolutions, and (iv) a probabilistic model of constraints that guides the synthesizer towards layouts preferred by developers.
Our evaluation shows that InferUI is practically effective: it successfully synthesizes real world complex layouts obtained from top 500 GitHub and top 500 Google Play Store applications, succeeds in 100% of the cases when synthesizing layouts for a single device, and correctly generalizes 92% of the views across multiple devices, all without requiring additional specifications.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
11 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. The Future of Computational Approaches for Understanding and Adapting User Interfaces;Extended Abstracts of the 2023 CHI Conference on Human Factors in Computing Systems;2023-04-19
2. A Hybrid Android Frontend Development Approach with Traditional Nesting Layouts and Constraint Layout;International Journal of Innovative Engineering Applications;2022-11-15
3. Psychologically-inspired, unsupervised inference of perceptual groups of GUI widgets from GUI images;Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2022-11-07
4. The Metamorphosis: Automatic Detection of Scaling Issues for Mobile Apps;Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering;2022-10-10
5. Push-button synthesis of watch companions for Android apps;Proceedings of the 44th International Conference on Software Engineering;2022-05-21