posted on 2024-06-16, 20:44authored byT Mahmud, M Khan, J Rouijel, Meiru Che, G Yang
Android has recently become one of the best platforms for mobile app development. The constant evolution of this mobile operating system results in frequent updates to its APIs, which may affect the functionality of Android apps that are built upon them. Given the high frequency of Android API updates, impact analysis plays an important role in achieving high reliability for Android apps. This paper presents APICIA, a novel approach to API change impact analysis for Android Apps. APICIA reports the impact induced when updating the target API in terms of affected program elements (i.e., classes, methods, and statements), affected tests whose executions may exhibit different behaviors due to the API update, as well as untested affected code. We evaluate APICIA on 31 real-world Android apps, and the experimental results show that it can be cost effective on regression test selection as on average only 35.31% of tests per app are affected by API update. Moreover, since many affected statements are not covered by existing tests, APICIA can assist app developers in test suite augmentation for testing these statements. These findings indicate that APICIA is a promising technique for assisting Android developers with understanding, testing, and debugging for an API update.