Android fragmentation refers to the overwhelming diversity of Android devices and OS versions. These lead to the impossibility of testing an app on every supported device, leaving a number of compatibility bugs scattered in the community and thereby resulting in poor user experiences. To mitigate this, our fellow researchers have designed various works to automatically detect such compatibility issues. However, the current state-of-the-art tools can only be used to detect specific kinds of compatibility issues (i.e., compatibility issues caused by API signature evolution), i.e., many other essential types of compatibility issues are still unrevealed. For example, customized OS versions on real devices and semantic changes of OS could lead to serious compatibility issues, which are non-trivial to be detected statically. To this end, we propose a novel, lightweight, crowdsourced testing approach, LAZYCOW, to fill this research gap and enable the possibility of taming Android fragmentation through crowdsourced efforts. Specifically, crowdsourced testing is an emerging alternative to conventional mobile testing mechanisms that allow developers to test their products on real devices to pinpoint platform-specific issues. Experimental results on thousands of test cases on real-world Android devices show that LAZYCOW is effective in automatically identifying and verifying API-induced compatibility issues. Also, after investigating the user experience through qualitative metrics, users' satisfaction provides strong evidence that LAZYCOW is useful and welcome in practice.
翻译:安卓碎片化是指安卓设备和操作系统版本的极大多样性。这导致无法在所有支持的设备上测试应用程序,从而在社区中遗留大量兼容性缺陷,进而造成用户体验不佳。为缓解这一问题,研究人员已设计多种方案自动检测此类兼容性问题。然而,现有最先进的工具仅能检测特定类型的兼容性问题(例如由API签名演变引起的兼容性问题),许多其他关键的兼容性问题仍未得到揭示。例如,真实设备上的定制操作系统版本以及操作系统的语义变更都可能导致严重的兼容性问题,而这些问题难以通过静态检测发现。为此,我们提出一种新颖的轻量级众包测试方法LAZYCOW,旨在填补这一研究空白,并通过众包努力驯服安卓碎片化问题。具体而言,众包测试是传统移动测试机制的新兴替代方案,允许开发者在真实设备上测试产品以定位特定平台问题。在真实安卓设备数千个测试用例上的实验结果表明,LAZYCOW能够有效自动识别和验证API引发的兼容性问题。此外,通过定性指标调研用户体验后,用户满意度强有力地证明了LAZYCOW在实际应用中的实用性和受欢迎程度。