Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
7-2020
Abstract
Due to the deprecation of APIs in the Android operating system, developers have to update usages of the APIs to ensure that their applications work for both the past and current versions of Android. Such updates may be widespread, non-trivial, and time-consuming. Therefore, automation of such updates will be of great benefit to developers. AppEvolve, which is the state-of-the-art tool for automating such updates, relies on having before- and after-update examples to learn from. In this work, we propose an approach named CocciEvolve that performs such updates using only a single after-update example. CocciEvolve learns edits by extracting the relevant update to a block of code from an after-update example. From preliminary experiments, we find that CocciEvolve can successfully perform 96 out of 112 updates, with a success rate of 85%.
Keywords
Android, API update, Program transformation, Single example
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ICPC '20: Proceedings of the 28th IEEE/ACM International Conference on Program Comprehension: 13-15 July, Seoul
First Page
401
Last Page
405
ISBN
9781450379588
Identifier
10.1145/3387904.3389285
Publisher
ACM
City or Country
New York
Citation
HARYONO, Stefanus A.; THUNG, Ferdian; KANG, Hong Jin; SERRANO, Lucas; MULLER, Gilles; LAWALL, Julia; LO, David; and JIANG, Lingxiao.
Automatic Android deprecated-API usage update by learning from single updated example. (2020). ICPC '20: Proceedings of the 28th IEEE/ACM International Conference on Program Comprehension: 13-15 July, Seoul. 401-405.
Available at: https://ink.library.smu.edu.sg/sis_research/5609
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.1145/3387904.3389285