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

Copyright Owner and License

Authors

Additional URL

https://doi.org/10.1145/3387904.3389285

Share

COinS