Detecting Android API Compatibility Issues With API Differences

被引:1
|
作者
Mahmud, Tarek [1 ]
Che, Meiru [2 ]
Yang, Guowei [3 ]
机构
[1] Texas State Univ, Dept Comp Sci, San Marcos, TX 78666 USA
[2] Torrens Univ, Fortitude Valley, Qld 4006, Australia
[3] Univ Queensland, Sch Informat Technol & Elect Engn, St Lucia, Qld 4072, Australia
基金
美国国家科学基金会;
关键词
API differences; API evolution; android; compatibility issues; program analysis; test selection;
D O I
10.1109/TSE.2023.3274153
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Android application programming interface (API) enables app developers to harness the functionalities of Android devices by interfacing with services and hardware using a Software Development Kit (SDK). However, API frequently evolves together with its associated SDK, and compatibility issues may arise when the API level supported by the underlying device differs from the API level targeted by app developers. These issues can lead to unexpected behaviors, resulting in a bad user experience. This article presents ACID, a novel approach to detecting Android API compatibility issues induced by API evolution. It detects both API invocation compatibility issues and API callback compatibility issues using API differences and static analysis of the app code. Experiments with 20 benchmark apps show that ACID is more accurate and faster than the state-of-the-art techniques in detecting API compatibility issues. The application of ACID on 2965 real-world apps further demonstrates its practical applicability. To eliminate the false positives reported by ACID, this article also presents a simple yet effective method to quickly verify the compatibility issues by selecting and executing the relevant tests from app's test suite, and experimental results demonstrate the verification method can eliminate most false positives when app's test suite has good coverage of the API usages.
引用
收藏
页码:3857 / 3871
页数:15
相关论文
共 50 条
  • [41] Demo: API Virtualization for Platform Openness in Android
    Ki, Taeyeon
    Simeonov, Alexander
    Dantu, Karthik
    Ko, Steven Y.
    Ziarek, Lukasz
    MOBISYS'16: COMPANION COMPANION PUBLICATION OF THE 14TH ANNUAL INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS, APPLICATIONS, AND SERVICES, 2016, : 107 - 107
  • [42] API Change Impact Analysis for Android Apps
    Mahmud, Tarek
    Khan, Mujahid
    Rouijel, Jihan
    Che, Meiru
    Yang, Guowei
    2021 IEEE 45TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2021), 2021, : 894 - 903
  • [43] API Sequences based Malware Detection for Android
    Zhu, Jiawei
    Wu, Zhengang
    Guan, Zhi
    Chen, Zhong
    IEEE 12TH INT CONF UBIQUITOUS INTELLIGENCE & COMP/IEEE 12TH INT CONF ADV & TRUSTED COMP/IEEE 15TH INT CONF SCALABLE COMP & COMMUN/IEEE INT CONF CLOUD & BIG DATA COMP/IEEE INT CONF INTERNET PEOPLE AND ASSOCIATED SYMPOSIA/WORKSHOPS, 2015, : 673 - 676
  • [44] Design of an API recommendation system in android programming
    Liu, Jinyang
    Ma, Zhiyi
    2018 11TH INTERNATIONAL CONFERENCE ON COMPUTER AND ELECTRICAL ENGINEERING, 2019, 1195
  • [45] Broken Fingers: On the Usage of the Fingerprint API in Android
    Bianchi, Antonio
    Fratantonio, Yanick
    Machiry, Aravind
    Kruegel, Christopher
    Vigna, Giovanni
    Chung, Simon Pak Ho
    Lee, Wenke
    25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018), 2018,
  • [46] APIDiff: Detecting API Breaking Changes
    Brito, Aline
    Xavier, Laerte
    Hora, Andre
    Valente, Marco Tulio
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 507 - 511
  • [47] API issues Refractory Installation guidelines
    不详
    AMERICAN CERAMIC SOCIETY BULLETIN, 1998, 77 (07): : 22 - 22
  • [48] An Empirical Study of Cloud API Issues
    Li, Zhongwei
    Lu, Qinghua
    Zhu, Liming
    Xu, Xiwei
    Liu, Yue
    Zhang, Weishan
    IEEE CLOUD COMPUTING, 2018, 5 (02): : 58 - 72
  • [49] The OSA API and other related issues
    Stretch, RM
    BT TECHNOLOGY JOURNAL, 2001, 19 (01) : 80 - 87
  • [50] 基于Android的谷歌地图API开发
    蒲通
    韩旭
    韩利凯
    科技广场, 2016, (02) : 51 - 53