Publication Type

Conference Proceeding Article

Version

acceptedVersion

Publication Date

10-2019

Abstract

Deprecation of APIs in software libraries is common when library maintainers make changes to a library and will no longer support certain APIs in the future. When deprecation occurs, developers whose programs depend on the APIs need to replace the usages of the deprecated APIs sooner or later. Often times, software documentation specifies which new APIs the developers should use in place of a deprecated API. However, replacing the usages of a deprecated API remains a challenge since developers may not know exactly how to use the new APIs. The developers would first need to understand the API changes before they can replace the deprecated API correctly. Previous work has proposed an approach to assist developers in deprecated Android API replacement by learning from examples. In this work, we also focus on Android APIs and propose an approach named No Example API Transformation (NEAT) to generate transformation rules that can assist developers in deprecated API replacement even when code examples are not available (e.g., when the deprecation has happened recently). We have validated the effectiveness of NEAT on generating transformation rules for deprecated Android APIs. Using NEAT, we can generate 37 transformation rules for 37 out of a selection of 100 deprecated APIs and have validated these rules to be correct.

Keywords

API deprecation, API replacement, program transformation, Android

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

2019 35th IEEE International Conference on Software Maintenance and Evolution (ICSME): Cleveland, OH, September 30 - October 4: Proceedings

First Page

213

Last Page

217

ISBN

9781728130941

Identifier

10.1109/ICSME.2019.00032

Publisher

IEEE

City or Country

Piscataway, NJ

Copyright Owner and License

Authors

Comments

authors' own version

Additional URL

https://doi.org/10.1109/ICSME.2019.00032

Share

COinS