一句话:提出 PIVOT,从 Android 应用语料学习并优先排序 API-设备关联,以支持碎片化兼容性问题检测。
Android 生态严重碎片化,导致大量碎片化诱导兼容性(FIC)问题;其搜索空间横跨设备型号、Android OS 版本与 API 三个维度,且设备相关 FIC 问题随新机型上市快速演化、多数缺乏文档,亟需自动化手段及时获取知识。本文提出 PIVOT,从现有 Android 应用语料中自动抽取 API-设备关联,并对关联进行优先级排序。作者在 Google Play 热门应用上评估,发现 PIVOT 能有效为不同时间收集的应用语料排序出有效 API-设备关联;进一步利用学到的关联开展案例研究,在开源 Android 应用中成功发现 10 个此前未检测到的 FIC 问题。
The heavily fragmented Android ecosystem has induced various compatibility issues in Android apps. The search space for such fragmentation-induced compatibility issues (FIC issues) is huge, comprising three dimensions: device models, Android OS versions, and Android APIs. FIC issues, especially those arising from device models, evolve quickly with the frequent release of new device models to the market. As a result, an automated technique is desired to maintain timely knowledge of such FIC issues, which are mostly undocumented. In this paper, we propose such a technique, PIVOT, that automatically learns API-device correlations of FIC issues from existing Android apps. PIVOT extracts and prioritizes API-device correlations from a given corpus of Android apps. We evaluated PIVOT with popular Android apps on Google Play. Evaluation results show that PIVOT can effectively prioritize valid API-device correlations for app corpora collected at different time. Leveraging the knowledge in the learned API-device correlations, we further conducted a case study and successfully uncovered ten previously-undetected FIC issues in open-source Android apps.