Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call