一句话:通过建模 Android API 生命周期并分析字节码,自动标记可能导致兼容性崩溃的 API 用法。
Android API 为开发者提供设备功能与硬件访问的构建块,但其快速演化使开发者难以同步更新应用;由于 API 规模庞大且缺少重要变更的自动告警,应用常遭遇与 API 相关的兼容性问题,并表现为运行时崩溃。本文提出自动化方法 CiD,系统地为 Android API 建立生命周期模型,并分析应用字节码,标记那些可能导致潜在兼容性问题的 API 使用。作者通过帮助开发者修复其应用来展示 CiD 的实用性,并在纳入多种自动检测挑战的基准应用上验证该工具优于现有最优方法。
The Android Application Programming Interface provides the necessary building blocks for app developers to harness the functionalities of the Android devices, including for interacting with services and accessing hardware. This API thus evolves rapidly to meet new requirements for security, performance and advanced features, creating a race for developers to update apps. Unfortunately, given the extent of the API and the lack of automated alerts on important changes, Android apps are suffered from API-related compatibility issues. These issues can manifest themselves as runtime crashes creating a poor user experience. We propose in this paper an automated approach named CiD for systematically modelling the lifecycle of the Android APIs and analysing app bytecode to flag usages that can lead to potential compatibility issues. We demonstrate the usefulness of CiD by helping developers repair their apps, and we validate that our tool outperforms the state-of-the-art on benchmark apps that take into account several challenges for automatic detection.
@inproceedings{paperbot4833,
title = {CiD: automating the detection of API-related compatibility issues in Android apps},
author = {Li Li and Tegawendé F. Bissyandé and Haoyu Wang and Jacques Klein},
booktitle = {ISSTA},
year = {2018},
doi = {10.1145/3213846.3213857}
}