CiD: automating the detection of API-related compatibility issues in Android apps

Li Li, Tegawendé F. Bissyandé, Haoyu Wang, Jacques Klein
2018 Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis - ISSTA 2018  
The Android Application Programming Interface provides the necessary building blocks for app developers to harness the functionalities of the Android devices, including for interacting with services and accessing hardware. This API thus evolves rapidly to meet new requirements for security, performance and advanced features, creating a race for developers to update apps. Unfortunately, given the extent of the API and the lack of automated alerts on important changes, Android apps are suffered
more » ... om API-related compatibility issues. These issues can manifest themselves as runtime crashes creating a poor user experience. We propose in this paper an automated approach named CiD for systematically modelling the lifecycle of the Android APIs and analysing app bytecode to flag usages that can lead to potential compatibility issues. We demonstrate the usefulness of CiD by helping developers repair their apps, and we validate that our tool outperforms the state-of-the-art on benchmark apps that take into account several challenges for automatic detection. CCS CONCEPTS • Software and its engineering → Software notations and tools;
doi:10.1145/3213846.3213857 dblp:conf/issta/0029BWK18 fatcat:ip75ikisrvgx5hw32fvs34wkf4