2022
DOI: 10.1109/tse.2020.2988396
|View full text |Cite
|
Sign up to set email alerts
|

A3: Assisting Android API Migrations Using Code Examples

Abstract: The fast-paced evolution of Android APIs has posed a challenging task for Android app developers. To leverage the newly and frequently released APIs from Android, developers often must spend considerable effort on API migrations. Prior research work and Android official documentation typically provide enough information to guide developers in identifying both the changed API calls that need to be migrated and the corresponding API calls in the new version of Android (what to migrate). However, the API migratio… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
23
0

Year Published

2022
2022
2023
2023

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 28 publications
(23 citation statements)
references
References 71 publications
0
23
0
Order By: Relevance
“…The same applies to the gofix tool for G o. 10 Others have also looked at ways to automatically compute differences between library versions, and based on these differences either suggest changes for adapting clients to breaking changes in the APIs or directly transform the client code as with JSFIX [7,8,9,10,11,12]. M ost of these approaches are for Java, where each member of a class has a fully qualified name, which makes it tractable to compute differences on a type-level between two versions of a Java API, and thereby automatically identify many breaking changes.…”
Section: II Re L a T E D W O R Kmentioning
confidence: 99%
“…The same applies to the gofix tool for G o. 10 Others have also looked at ways to automatically compute differences between library versions, and based on these differences either suggest changes for adapting clients to breaking changes in the APIs or directly transform the client code as with JSFIX [7,8,9,10,11,12]. M ost of these approaches are for Java, where each member of a class has a fully qualified name, which makes it tractable to compute differences on a type-level between two versions of a Java API, and thereby automatically identify many breaking changes.…”
Section: II Re L a T E D W O R Kmentioning
confidence: 99%
“…Rather, developers need to manually perform the transformations based on the examples and information produced by Diff-CatchUp. A4 [8] automatically assists Android API migrations by learning API migration patterns from code examples. AppEvolve [9] automates API-usage update for Android, creating patches from before-and after-update code examples.…”
Section: B Scenario II -Context-dependent Api Migrationmentioning
confidence: 99%
“…Several studies have attempted to automate updates process of deprecated API usages [8]- [11]. However, prior works mainly target Java programs, and no study has attempted to automate the update for Python deprecated API usages.…”
Section: Introductionmentioning
confidence: 99%
“…APIMigrator primarily relates to example-based program transformation techniques (e.g., [1,13,16,18,20,21,23]). APIMigrator differs from some of these techniques [1,16,18,20,21] in that it uses a more general approach to identify when a migration patch is applicable.…”
Section: Related Workmentioning
confidence: 99%
“…This makes our tool effective in using examples from different codebases. As opposed to A4 [13], APIMigrator identifies migration examples in remote repositories, handles changes in return values, and is able to prioritize migration examples. Finally, unlike Meditor [23], APIMigrator can analyze and compare multiple examples while performing migrations, allowing for prioritizing and using migration patches that are closer to the essence of the required changes.…”
Section: Related Workmentioning
confidence: 99%