Analyzing the impact of API changes on Android apps

The continuous evolution of Android mobile operating system leads to regular updates to its APIs, which may compromise the functionality of Android apps. Given the high frequency of Android API updates, analyzing the impact of API changes is vital to ensure the high reliability of Android apps. This...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 200; p. 111664
Main Authors Mahmud, Tarek, Che, Meiru, Yang, Guowei
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.06.2023
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:The continuous evolution of Android mobile operating system leads to regular updates to its APIs, which may compromise the functionality of Android apps. Given the high frequency of Android API updates, analyzing the impact of API changes is vital to ensure the high reliability of Android apps. This paper introduces Apicia, a novel approach to analyzing the impact of API changes on Android apps. Apicia investigates the impact of changing the target API and identifies the affected program elements (i.e., classes, methods, and statements), the affected tests whose executions may exhibit changed behaviors as a result of the API update, as well as the app code that is not covered by the existing tests. We evaluate Apicia on 219 real-world Android apps. According to the results, API changes impact 46.30% of tests per app on average, and regression test selection based on Apicia can be cost effective. Moreover, many affected statements are not covered by existing tests, which indicates Apicia can help with test suite augmentation to achieve better coverage. These findings suggest that Apicia is a promising approach for assisting Android developers with understanding, testing, and debugging Android apps that are subject to rapid API updates. •We present Apicia, a novel technique for analyzing the impact of API change for Android apps. To the best of our knowledge, this is the first impact analysis on API change for Android apps.•We discuss the effectiveness of Apicia, on better understanding the impact of API change on app code, on improving test selection, and on easier debugging.•We evaluate Apicia on 219 real-world Android apps with more than 100 tests. The results demonstrate that Apicia successfully identifies the app code and tests that are impacted by the target API change.•Additionally, it lists numerous affected statements in the source code that have not been tested by the existing tests, which helps developers effectively on test suite augmentation.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2023.111664