[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3510454.3516854acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article
Public Access

ACID: an API compatibility issue detector for Android apps

Published: 19 October 2022 Publication History

Abstract

Android API is frequently updated, and compatibility issues may be induced when the API level supported by the device differs from the API level targeted by app developers. This paper presents ACID, an API compatibility issue detector for Android apps. ACID utilizes API differences and static analysis of Android apps to detect both API invocation compatibility issues and API callback compatibility issues. Our evaluation on 20 benchmark apps from previous studies shows that ACID is more accurate and faster in detecting compatibility issues than state-of-the-art techniques. We also ran ACID on 35 more real-world apps to demonstrate ACID's practical applicability. ACID is available at https://github.com/TSUMahmud/acid and the demonstration video of ACID is available at https://youtu.be/XUNBPMIx2q4.

References

[1]
August 2021. Android Lint. https://stuff.mit.edu/afs/sipb/project/android/docs/tools/help/lint.html.
[2]
August 2021. Beautiful Soup. https://www.crummy.com/software/BeautifulSoup/.
[3]
August 2021. F-Droid. https://f-droid.org.
[4]
August 2021. F1-measure. https://en.wikipedia.org/wiki/F1_score.
[5]
August 2021. Fossdroid. https://fossdroid.com.
[6]
August 2021. Google Play Store. https://play.google.com.
[7]
August 2021. JADX. https://github.com/skylot/jadx.
[8]
August 2021. LaunchTime. https://github.com/quaap/LaunchTime.
[9]
August 2021. RequiresAPI. https://developer.android.com/reference/androidx/annotation/RequiresApi.
[10]
August 2021. Uses of API Level in Android. https://developer.android.com/guide/topics/manifest/uses-sdk-element#uses.
[11]
Dongjie He, Lian Li, Lei Wang, Hengjie Zheng, Guangwei Li, and Jingling Xue. 2018. Understanding and detecting evolution-induced compatibility issues in Android apps. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 167--177.
[12]
Huaxun Huang, Lili Wei, Yepang Liu, and Shing-Chi Cheung. 2018. Understanding and detecting callback compatibility issues for android applications. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 532--542.
[13]
Patrick Lam, Eric Bodden, Ondrej Lhoták, and Laurie Hendren. 2011. The Soot framework for Java program analysis: a retrospective. In Cetus Users and Compiler Infastructure Workshop (CETUS 2011), Vol. 15. 35.
[14]
Li Li, Tegawendé F Bissyandé, Haoyu Wang, and Jacques Klein. 2018. Cid: Automating the detection of api-related compatibility issues in android apps. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis. 153--163.
[15]
Tarek Mahmud, Meiru Che, and Guowei Yang. 2021. Android Compatibility Issue Detection Using API Differences. In 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). 480--490.
[16]
Tyler McDonnell, Baishakhi Ray, and Miryung Kim. 2013. An empirical study of api stability and adoption in the android ecosystem. In 2013 IEEE International Conference on Software Maintenance. IEEE, 70--79.
[17]
L. Wei, Y. Liu, and S. Cheung. 2016. Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps. In 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). 226--237.
[18]
L. Wei, Y. Liu, and S. Cheung. 2019. PIVOT: Learning API-Device Correlations to Facilitate Android Compatibility Issue Detection. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). 878--888.

Cited By

View all
  • (2024)Call Graph Soundness in Android Static AnalysisProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680333(945-957)Online publication date: 11-Sep-2024
  • (2024)An Empirical Investigation on Android App Testing Practices2024 IEEE 35th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE62328.2024.00042(355-366)Online publication date: 28-Oct-2024
  • (2024)An empirical study on compatibility issues in Android API field evolutionInformation and Software Technology10.1016/j.infsof.2024.107530175(107530)Online publication date: Nov-2024
  • Show More Cited By

Index Terms

  1. ACID: an API compatibility issue detector for Android apps
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings
    May 2022
    394 pages
    ISBN:9781450392235
    DOI:10.1145/3510454
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 19 October 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. API callback compatibility issues
    2. API evolution
    3. API invocation compatibility issues
    4. Android

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ICSE '22
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 276 of 1,856 submissions, 15%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)80
    • Downloads (Last 6 weeks)9
    Reflects downloads up to 31 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Call Graph Soundness in Android Static AnalysisProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680333(945-957)Online publication date: 11-Sep-2024
    • (2024)An Empirical Investigation on Android App Testing Practices2024 IEEE 35th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE62328.2024.00042(355-366)Online publication date: 28-Oct-2024
    • (2024)An empirical study on compatibility issues in Android API field evolutionInformation and Software Technology10.1016/j.infsof.2024.107530175(107530)Online publication date: Nov-2024
    • (2023)CiD4HMOS: A Solution to HarmonyOS Compatibility Issues2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00134(2006-2017)Online publication date: 11-Sep-2023
    • (2023)Analyzing the impact of API changes on Android appsJournal of Systems and Software10.1016/j.jss.2023.111664200:COnline publication date: 1-Jun-2023

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media