Our empirical study aims to answer the following research questions:
You can download the following datasets for research purposes.Note: The empirical dataset is only applicable for personal usage.
To answer this research question, we need to collect a list of callback APIs and study how they evolved.
In total, we collected 2,589 callback APIs to form the callback API list. We further refer to the code commits in AOSP to study the updates of callback APIs, and categorized them into two groups: reachability change and API behavioral modification.
Click here to download and view the list of callback APIs.
To understand how callback API evolutions can induce compatibility issues in real Android applications, we investigated 100 callback compatibility issues from 50 open-source projects on GitHub.
We further analyzed the online discussions, issue patches, and issue git commits to understand the practices of app developers to fix issues.
We categorized issues into two categories: CCFG structural changes and CCFG non-structural changes.
Click here to download and view the detailed information of issues in our empirical study. Note that several issues are highlighted in our research paper.