中文

解析 Android 应用设备相关兼容性问题

软件工程 2024-08-06 v1

摘要

Android 生态系统因 Android 系统频繁更新和移动设备制造商普遍定制化而呈现出显著碎片化。以前的研究主要关注识别和修复由演化导致的 API 兼容性问题,较少考虑设备相关兼容性问题(DSC 问题)。为填补这一空白,我们对来自 GitHub 94 个开源仓库收集的 197 个 DSC 问题进行了实证研究。我们提出一种新视角来理解这些问题,通过将其分为两个主要组别进行分类:功能中断和 OEM 功能,基于其表现形式和根本原因。功能中断问题会破坏标准 Android 系统行为,在特定设备上导致崩溃或意外行为,要求开发人员实施 workaround 以保留原始功能。OEM 功能问题涉及引入超出基本 Android 系统的设备特定功能或功能。功能中断问题和 OEM 功能问题的不同本质导致了解决这些问题的独特挑战。功能中断问题的常见解决方案包括调用额外 API、替换有问题的 API 或使用特定参数。而解决 OEM 功能问题通常依赖于 Android 组件间通信方法和反射,以及其他非正式策略。这些观察结果凸显了在 Android 应用中解决 DSC 问题的独特挑战,将促进针对这些问题的测试和分析工具的未来开发。我们的研究表明,功能中断和 OEM 功能问题具有不同的特征,未来的研究可能需要分别加以考察。

关键词

引用

@article{arxiv.2408.01810,
  title  = {Demystifying Device-specific Compatibility Issues in Android Apps},
  author = {Junfeng Chen and Kevin Li and Yifei Chen and Lili Wei and Yepang Liu},
  journal= {arXiv preprint arXiv:2408.01810},
  year   = {2024}
}

备注

Accepted by ICSME'24