Automated Reporting of GUI Design Violations for Mobile Apps

by   Kevin Moran, et al.

The inception of a mobile app often takes form of a mock-up of the Graphical User Interface (GUI), represented as a static image delineating the proper layout and style of GUI widgets that satisfy requirements. Following this initial mock-up, the design artifacts are then handed off to developers whose goal is to accurately implement these GUIs and the desired functionality in code. Given the sizable abstraction gap between mock-ups and code, developers often introduce mistakes related to the GUI that can negatively impact an app's success in highly competitive marketplaces. Moreover, such mistakes are common in the evolutionary context of rapidly changing apps. This leads to the time-consuming and laborious task of design teams verifying that each screen of an app was implemented according to intended design specifications. This paper introduces a novel, automated approach for verifying whether the GUI of a mobile app was implemented according to its intended design. Our approach resolves GUI-related information from both implemented apps and mock-ups and uses computer vision techniques to identify common errors in the implementations of mobile GUIs. We implemented this approach for Android in a tool called GVT and carried out both a controlled empirical evaluation with open-source apps as well as an industrial evaluation with designers and developers from Huawei. The results show that GVT solves an important, difficult, and highly practical problem with remarkable efficiency and accuracy and is both useful and scalable from the point of view of industrial designers and developers. The tool is currently used by over one-thousand industrial designers and developers at Huawei to improve the quality of their mobile apps.


An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in Android Apps

Technical debt describes situations where developers write less-than-opt...

Translating Video Recordings of Mobile App Usages into Replayable Scenarios

Screen recordings of mobile applications are easy to obtain and capture ...

Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps

It is common practice for developers of user-facing software to transfor...

Recommendation of Exception Handling Code in Mobile App Development

In modern programming languages, exception handling is an effective mech...

Mobile-App Analysis and Instrumentation Techniques Reimagined with DECREE

A large number of mobile-app analysis and instrumentation techniques hav...

Automated and Context-Aware Repair of Color-Related Accessibility Issues for Android Apps

Approximately 15 disabilities or impairments. However, many mobile UX de...

A Microservice Architecture for Online Mobile App Optimization

A large number of techniques for analyzing and optimizing mobile apps ha...

Please sign up or login with your details

Forgot password? Click here to reset