paperbot · PL 论文追踪

全部论文 待读 收藏

P2 How Android developers handle evolution-induced API compatibility issues

Android 开发者如何处理演化引发的 API 兼容性问题
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering2020匹配度 2/10 · 该论文是 Android API 兼容性问题的开发者实证研究,属于软件演化与移动开发领域,与用户核心方向(LLM/Agent 与静态分析交叉、浮点程序分析、贝叶斯程序分析)没有直接交集;仅在“程序分析可辅助开发者工具”这一点上有非常微弱的关联。引用 38 inbox
Hao Xia, Yuan Zhang, Yingtian Zhou, Xiaoting Chen, Yang Wang, Xiangyu Zhang, Shuaishuai Cui, Geng Hong, Xiaohan Zhang, Min Yang, Zhemin Yang
crossref: 2026-09-12

AI 速览

一句话:通过实证研究揭示 Android 开发者处理演化引发的 API 兼容性问题的真实方式、困难与可帮助方向。

随着 Android 平台快速演化,API 兼容性问题成为开发者的重大挑战。面对不兼容的 API 调用,开发者主要有两种应对方式:一是仅做充分检查,避免在不支持该 API 的平台上调用;二是优雅地提供替代实现,从而在不兼容平台上保持较一致的应用行为。后者更受推荐,但实现难度也更大。然而,真实世界中这些兼容性问题究竟如何被处理、开发者是否面临困难、以及社区能提供何种帮助,仍缺乏系统认识。本文围绕上述问题展开实证研究,旨在刻画 Android 开发者在演化引发的 API 兼容性问题上的处理实践与痛点。

问题
Android 平台快速演化导致 API 兼容性问题频发,开发者需在“充分检查以避免调用”与“提供替代实现”之间取舍,但其真实处理方式与所遇困难尚不清楚。
方法
针对真实世界中 Android 开发者处理 API 兼容性问题的现状开展实证研究,考察其处理策略、遇到的困难以及可提供的帮助。
评估
基于对实际开发实践的实证考察,总结现有处理模式与挑战,并讨论可能的帮助方向(摘要未给出更具体的评估细节)。
原文摘要(Abstract)

As Android platform evolves in a fast pace, API-related compatibility issues become a significant challenge for developers. To handle an incompatible API invocation, developers mainly have two choices: merely performing sufficient checks to avoid invoking incompatible APIs on platforms that do not support them, or gracefully providing replacement implementations on those incompatible platforms. As providing more consistent app behaviors, the latter one is more recommended and more challenging to adopt. However, it is still unknown how these issues are handled in the real world, do developers meet difficulties and what can we do to help them.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5589,
  title = {How Android developers handle evolution-induced API compatibility issues},
  author = {Hao Xia and Yuan Zhang and Yingtian Zhou and Xiaoting Chen and Yang Wang and Xiangyu Zhang and Shuaishuai Cui and Geng Hong and Xiaohan Zhang and Min Yang and Zhemin Yang},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377811.3380357}
}