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