一句话:对 62,894 个 Android 应用及 15,045 个应用运行轨迹的纵向研究,揭示安装期与运行期不兼容的表现与成因。
Android 生态的平台与设备持续多样化,导致应用不兼容问题日益突出,损害用户体验并拖累开发效率。本文对过去八年开发的 62,894 个良性应用开展了大规模纵向兼容性研究,以理解这些问题的症状与根因;并进一步通过 15,045 个应用的系统日志与执行轨迹,考察运行时实际触发的不兼容。研究发现:兼容性问题在安装期与运行期都普遍且长期存在,其中运行期不兼容更为常见;并不存在某些 Android 版本系统性地比其他版本出现更多或更少的不兼容;安装期不兼容与应用的 minSdkVersion 强相关,运行期不兼容则与底层平台的 API level 相关性最强;安装期不兼容多源于应用使用了体系结构不兼容的 native 库,运行期不兼容多源于 SDK 演进中的 API 变更。作者据此为开发者与终端用户给出了应对建议。
The rapid expansion of the Android ecosystem is accompanied by continuing diversification of platforms and devices, resulting in increasing incompatibility issues which damage user experiences and impede app development productivity. In this paper, we conducted a large-scale, longitudinal study of compatibility issues in 62,894 benign apps developed in the past eight years, to understand the symptoms and causes of these issues. We further investigated the incompatibilities that are actually exercised at runtime through the system logs and execution traces of 15,045 apps. Our study revealed that, among others, (1) compatibility issues were prevalent and persistent at both installation and run time, with greater prevalence of run-time incompatibilities, (2) there were no certain Android versions that consistently saw more or less app incompatibilities than others, (3) installation-time incompatibilities were strongly correlated with the minSdkVersion specified in apps, while run-time incompatibilities were most significantly correlated with the underlying platform’s API level, and (4) installation-time incompatibilities were mostly due to apps’ use of architecture-incompatible native libraries, while run-time incompatibilities were mostly due to API changes during SDK evolution. We offered further insights into app incompatibilities, as well as recommendations on dealing with the issues for bother developers and end users of Android apps.
DOI 原文 ·
@inproceedings{paperbot5389,
title = {A large-scale study of application incompatibilities in Android},
author = {Haipeng Cai and Ziyi Zhang and Li Li and Xiaoqin Fu},
booktitle = {ISSTA},
year = {2019},
doi = {10.1145/3293882.3330564}
}