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 条
  • [21] Mining usage patterns for the Android API
    Borges, Hudson S.
    Valente, Marco Tulio
    PEERJ COMPUTER SCIENCE, 2015, 2015 (07)
  • [22] Animation2API: API Recommendation for the Implementation of Android UI Animations
    Wang, Yihui
    Liu, Huaxiao
    Gao, Shanquan
    Tang, Xiao
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (09) : 4411 - 4428
  • [23] An Antivirus API for Android Malware Recognition
    Fedler, Rafael
    Kulicke, Marcel
    Schuette, Julian
    PROCEEDINGS OF THE 2013 8TH INTERNATIONAL CONFERENCE ON MALICIOUS AND UNWANTED SOFTWARE: THE AMERICAS (MALWARE), 2013, : 77 - 84
  • [24] A New API for Android Accessibility Testing
    Mateus de Moura, Cicero Joasyo
    de Oliveira, Saulo Souza
    Crosara Faria, Kenyo Abadio
    de Andrade Freitas, Eduardo Noronha
    PROCEEDINGS 2017 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI), 2017, : 594 - 598
  • [25] Detecting API documentation errors
    Zhong, Hao
    Su, Zhendong
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 803 - 815
  • [26] Detecting Inefficient API Usage
    Kawrykow, David
    Robillard, Martin P.
    2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, : 183 - 186
  • [27] ArgusDroid: detecting Android malware variants by mining permission-API knowledge graph
    Yude BAI
    Sen CHEN
    Zhenchang XING
    Xiaohong LI
    ScienceChina(InformationSciences), 2023, 66 (09) : 115 - 133
  • [28] DETECTING MALWARE AND EVALUATING RISK OF APP USING ANDROID PERMISSION-API SYSTEM
    Zeng, Huan
    Ren, Yan
    Wang, Qing-Xian
    He, Neng-Qiang
    Ding, Xu-Yang
    2014 11TH INTERNATIONAL COMPUTER CONFERENCE ON WAVELET ACTIVE MEDIA TECHNOLOGY AND INFORMATION PROCESSING (ICCWAMTIP), 2014, : 440 - 443
  • [29] ArgusDroid: detecting Android malware variants by mining permission-API knowledge graph
    Yude Bai
    Sen Chen
    Zhenchang Xing
    Xiaohong Li
    Science China Information Sciences, 2023, 66
  • [30] ArgusDroid: detecting Android malware variants by mining permission-API knowledge graph
    Bai, Yude
    Chen, Sen
    Xing, Zhenchang
    Li, Xiaohong
    SCIENCE CHINA-INFORMATION SCIENCES, 2023, 66 (09)