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 条
  • [1] Android Compatibility Issue Detection Using API Differences
    Mahmud, Tarek
    Che, Meiru
    Yang, Guowei
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2021), 2021, : 480 - 490
  • [2] Android API Field Evolution and Its Induced Compatibility Issues
    Mahmud, Tarek
    Che, Meiru
    Yang, Guowei
    PROCEEDINGS OF THE16TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, ESEM 2022, 2022, : 34 - 44
  • [3] An empirical study on compatibility issues in Android API field evolution
    Mahmud, Tarek
    Che, Meiru
    Yang, Guowei
    INFORMATION AND SOFTWARE TECHNOLOGY, 2024, 175
  • [4] Automatically Detecting API-Induced Compatibility Issues in Android Apps: A Comparative Analysis (Replicability Study)
    Liu, Pei
    Zhao, Yanjie
    Cai, Haipeng
    Fazzini, Mattia
    Grundy, John
    Li, Li
    PROCEEDINGS OF THE 31ST ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2022, 2022, : 617 - 628
  • [5] CiD: Automating the Detection of API-Related Compatibility Issues in Android Apps
    Li, Li
    Bissyande, Tegawende F.
    Wang, Haoyu
    Klein, Jacques
    ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2018, : 153 - 163
  • [6] API compatibility issues in Android: Causes and effectiveness of data-driven detection techniques
    Simone Scalabrino
    Gabriele Bavota
    Mario Linares-Vásquez
    Valentina Piantadosi
    Michele Lanza
    Rocco Oliveto
    Empirical Software Engineering, 2020, 25 : 5006 - 5046
  • [7] Mining Android API Usage to Generate Unit Test Cases for Pinpointing Compatibility Issues
    Sun, Xiaoyu
    Chen, Xiao
    Zhao, Yanjie
    Liu, Pei
    Grundy, John
    Li, Li
    PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [8] API compatibility issues in Android: Causes and effectiveness of data-driven detection techniques
    Scalabrino, Simone
    Bavota, Gabriele
    Linares-Vasquez, Mario
    Piantadosi, Valentina
    Lanza, Michele
    Oliveto, Rocco
    EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (06) : 5006 - 5046
  • [9] ACID: An API Compatibility Issue Detector for Android Apps
    Mahmud, Tarek
    Che, Meiru
    Yang, Guowei
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022), 2022, : 1 - 5
  • [10] API Compatibility Issue Detection, Testing and Analysis for Android Apps
    Mahmud, Tarek
    2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1061 - 1063