一句话:提出深度学习工具 OwlEye,检测 GUI 显示问题并定位缺陷区域。
GUI 是用户与应用交互的视觉桥梁,但其复杂度及软硬件兼容性使文字重叠、屏幕模糊、图片缺失等显示问题在渲染时频发,损害应用可用性与体验。为检测此类问题,作者提出基于深度学习的 OwlEye,对 GUI 截图的视觉信息建模,从而判断是否存在显示问题,并定位问题区域以指导修复。作者手工构建了包含 4,470 张带 UI 显示问题截图的大规模标注数据集,并提出启发式数据增强方法提升性能。评估显示,OwlEye 检测 UI 显示问题的精确率为 85%、召回率为 84%,定位准确率为 90%;在 Google Play 与 F-droid 的流行 Android 应用上,发现 57 个此前未检测到的 UI 显示问题,其中 26 个已被确认或修复。
Graphical User Interface (GUI) provides a visual bridge between a software application and end users, through which they can interact with each other. With the development of technology and aesthetics, the visual effects of the GUI are more and more attracting. However, such GUI complexity posts a great challenge to the GUI implementation. According to our pilot study of crowdtesting bug reports, display issues such as text overlap, blurred screen, missing image always occur during GUI rendering on different devices due to the software or hardware compatibility. They negatively influence the app usability, resulting in poor user experience. To detect these issues, we propose a novel approach, OwlEye, based on deep learning for modelling visual information of the GUI screenshot. Therefore, OwlEye can detect GUIs with display issues and also locate the detailed region of the issue in the given GUI for guiding developers to fix the bug. We manually construct a large-scale labelled dataset with 4,470 GUI screenshots with UI display issues and develop a heuristics-based data augmentation method for boosting the performance of our OwlEye. The evaluation demonstrates that our OwlEye can achieve 85% precision and 84% recall in detecting UI display issues, and 90% accuracy in localizing these issues. We also evaluate OwlEye with popular Android apps on Google Play and F-droid, and successfully uncover 57 previously-undetected UI display issues with 26 of them being confirmed or fixed so far.