Journal Article10.1109/TSE.2023.3274153
Detecting Android API Compatibility Issues With API Differences
4
TL;DR: ACID as discussed by the authors detects API invocation compatibility issues and API callback compatibility issues using API differences and static analysis of the app code, and it can eliminate most false positives when app's test suite has good coverage of API usages.
read more
Abstract: 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
An empirical study on compatibility issues in Android API field evolution
Tarek Mahmud,Meiru Che,Guowei Yang +2 more
APICIA: An API Change Impact Analyzer for Android Apps
Tarek Salah Uddin Mahmud,Meiru Che,J. Rouijel,Mujahid Khan,Guowei Yang +4 more
- 14 Apr 2024
TL;DR: APICIA is a tool for analyzing the impact of API changes on Android apps. It identifies affected program elements and tests, aiding developers in ensuring app reliability and expanding test coverage.
Why android app testing falls short: empirical insights from open-source projects and a practitioner survey
Tarek Mahmud,Meiru Che,Anne H. H. Ngu,Guowei Yang +3 more
Why the Proof Fails in Different Versions of Theorem Provers: An Empirical Study of Compatibility Issues in Isabelle
Xiaokun Luan,David Sanán,Zhé Hóu,Qiyuan Xu,Chengwei Liu,Yufan Cai,Yang Liu,Meng Sun +7 more
TL;DR: This study investigates compatibility issues in Isabelle proof assistants, analyzing 12,079 collected issues to identify types, symptoms, and root causes, providing insights for developing effective techniques to mitigate these issues in formal proof verification.
References
A safe, efficient regression test selection technique
TL;DR: Initial empirical studies indicate that the technique can significantly reduce the cost of regression testing modified software and is at lease as precise as other safe regression test selection algorithms.
The Soot framework for Java program analysis: a retrospective
Patrick Lam,Eric Bodden,Ondrej Lhotak,Laurie Hendren +3 more
- 01 Oct 2011
TL;DR: relevant features of Soot are described, its development process is summarized, and useful features for future program analysis frameworks are discussed.
379
An Empirical Study of API Stability and Adoption in the Android Ecosystem
Tyler McDonnell,Baishakhi Ray,Miryung Kim +2 more
- 22 Sep 2013
TL;DR: An in-depth case study of the co-evolution behavior of Android API and dependent applications using the version history data found in github confirms that Android is evolving fast at a rate of 115 API updates per month on average, but client adoption, however, is not catching up with the pace of API evolution.
API change and fault proneness: a threat to the success of Android apps
Mario Linares-Vasquez,Gabriele Bavota,Carlos Bernal-Cardenas,Massimiliano Di Penta,Rocco Oliveto,Denys Poshyvanyk +5 more
- 18 Aug 2013
TL;DR: A study analyzing how the fault- and change-proneness of APIs used by 7,097 (free) Android apps relates to applications' lack of success, estimated from user ratings.
How do API changes trigger stack overflow discussions? a study on the Android SDK
Mario Linares-Vasquez,Gabriele Bavota,Massimiliano Di Penta,Rocco Oliveto,Denys Poshyvanyk +4 more
- 02 Jun 2014
TL;DR: It is suggested that Android developers usually have more questions when the behavior of APIs is modified, and deleting public methods from APIs is a trigger for questions that are more discussed and of major interest for the community, and posted by more experienced developers.
183