APIMigrator: An API-Usage Migration Tool for Android Apps [conference paper]
Proceedings of the 6th International Conference on Mobile Software Engineering and Systems (MOBILESoft) - July 14, 2020
Mattia Fazzini (assistant professor), Qi Xin, Alessandro Orso
To provide their functionality, mobile apps interact extensively with the application programming interface (API) of the underlying operating system. Given that the API frequently evolves to incorporate crucial improvements, app developers are periodically required to update API usages in their apps to ensure that the apps behave as expected when running on the new API. To help developers with this tedious, error-prone, and time-consuming task, we defined a technique for automated API migration and implemented it in a tool called APIMigrator that supports Android apps. APIMigrator (1) automatically migrates API usages within an app by leveraging how developers of other apps migrated corresponding API usages and (2) validates the migrations through differential testing. We evaluated APIMigrator on a benchmark of 15 real-world apps and obtained promising results. Overall, our tool was able to migrate 85% of the API usages considered and validated 68% of these migrations.
Link to full paper
software engineering, mobile applications