Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
2-2020
Abstract
As the Android API evolves, some API methods may be deprecated, to be eventually removed. App developers face the challenge of keeping their apps up-to-date, to ensure that the apps work in both older and newer Android versions. Currently, AppEvolve is the state-of-the-art approach to automate such updates, and it has been shown to be quite effective. Still, the number of experiments reported is moderate, involving only API usage updates in 41 usage locations. In this work, we replicate the evaluation of AppEvolve and assess whether its effectiveness is generalizable. Given the set of APIs on which AppEvolve has been evaluated, we test AppEvolve on other mobile apps that use the same APIs. Our experiments show that AppEvolve fails to generate applicable updates for 81% of our dataset, even though the relevant knowledge for correct API updates is available in the examples. We first categorize the limitations of AppEvolve that lead to these failures. We then propose a mitigation strategy that solves 86% of these failures by a simple refactoring of the app code to better resemble the code in the examples. The refactoring usually involves assigning the target API method invocation and the arguments of the target API method into variables. Indeed, we have also seen such transformations in the dataset distributed with the AppEvolve replication package, as compared to the original source code from which this dataset is derived. Based on these findings, we propose some promising future directions.
Keywords
Android, API usage, mobile apps, program transformation
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
2020 27th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER): 18-21 February, Ontario, Canada: Proceedings
First Page
602
Last Page
611
ISBN
9781728151434
Identifier
10.1109/SANER48275.2020.9054860
Publisher
IEEE
City or Country
Piscataway, NJ
Citation
THUNG, Ferdian; AGUS HARYONO, Stefanus; SERRANO, Lucas; MULLER, Gilles; LAWALL, Julia; LO, David; and JIANG, Lingxiao.
Automated deprecated-API usage update for Android apps: How far are we?. (2020). 2020 27th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER): 18-21 February, Ontario, Canada: Proceedings. 602-611.
Available at: https://ink.library.smu.edu.sg/sis_research/5502
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/SANER48275.2020.9054860