AndroEvolve: Automated update for Android deprecated-API usages
The Android operating system (OS) is often updated, where each new version may involve API deprecation. Usages of deprecated APIs in Android apps need to be updated to ensure the apps' compatibility with the old and new versions of the Android OS. In this work, we propose AndroEvolve, an automa...
Saved in:
Main Authors: | , , , , , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2021
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/6034 https://ink.library.smu.edu.sg/context/sis_research/article/7037/viewcontent/AndroEvolve_2020_av__1_.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-7037 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-70372023-04-04T03:07:33Z AndroEvolve: Automated update for Android deprecated-API usages HARYONO, Stefanus A. THUNG, Ferdian LO, David JIANG, Lingxiao LAWALL, Julia KANG, Hong Jin SERRANO, Lucas MULLER, Gilles The Android operating system (OS) is often updated, where each new version may involve API deprecation. Usages of deprecated APIs in Android apps need to be updated to ensure the apps' compatibility with the old and new versions of the Android OS. In this work, we propose AndroEvolve, an automated tool to update usages of deprecated Android APIs, that addresses the limitations of the state-of-the-art tool, CocciEvolve. AndroEvolve utilizes data flow analysis to solve the problem of out-of-method-boundary variables, and variable denormalization to remove the temporary variables introduced by CocciEvolve. We evaluated the accuracy of AndroEvolve using a dataset of 360 target files and 20 deprecated Android APIs, where AndroEvolve is able to produce 319 correct updates, compared to CocciEvolve which only produces 249 correct updates. We also evaluated the readability of AndroEvolve's update results using a manual and an automatic evaluation. Both evaluations demonstrated that the code produced by AndroEvolve has higher readability than CocciEvolve's. A video demonstration of AndroEvolve is available at https://youtu.be/siU0tuMITXI. 2021-05-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/6034 info:doi/10.1109/ICSE-Companion52605.2021.00021 https://ink.library.smu.edu.sg/context/sis_research/article/7037/viewcontent/AndroEvolve_2020_av__1_.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Program transformation Android data flow analysis readability API deprecation API update Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Program transformation Android data flow analysis readability API deprecation API update Software Engineering |
spellingShingle |
Program transformation Android data flow analysis readability API deprecation API update Software Engineering HARYONO, Stefanus A. THUNG, Ferdian LO, David JIANG, Lingxiao LAWALL, Julia KANG, Hong Jin SERRANO, Lucas MULLER, Gilles AndroEvolve: Automated update for Android deprecated-API usages |
description |
The Android operating system (OS) is often updated, where each new version may involve API deprecation. Usages of deprecated APIs in Android apps need to be updated to ensure the apps' compatibility with the old and new versions of the Android OS. In this work, we propose AndroEvolve, an automated tool to update usages of deprecated Android APIs, that addresses the limitations of the state-of-the-art tool, CocciEvolve. AndroEvolve utilizes data flow analysis to solve the problem of out-of-method-boundary variables, and variable denormalization to remove the temporary variables introduced by CocciEvolve. We evaluated the accuracy of AndroEvolve using a dataset of 360 target files and 20 deprecated Android APIs, where AndroEvolve is able to produce 319 correct updates, compared to CocciEvolve which only produces 249 correct updates. We also evaluated the readability of AndroEvolve's update results using a manual and an automatic evaluation. Both evaluations demonstrated that the code produced by AndroEvolve has higher readability than CocciEvolve's. A video demonstration of AndroEvolve is available at https://youtu.be/siU0tuMITXI. |
format |
text |
author |
HARYONO, Stefanus A. THUNG, Ferdian LO, David JIANG, Lingxiao LAWALL, Julia KANG, Hong Jin SERRANO, Lucas MULLER, Gilles |
author_facet |
HARYONO, Stefanus A. THUNG, Ferdian LO, David JIANG, Lingxiao LAWALL, Julia KANG, Hong Jin SERRANO, Lucas MULLER, Gilles |
author_sort |
HARYONO, Stefanus A. |
title |
AndroEvolve: Automated update for Android deprecated-API usages |
title_short |
AndroEvolve: Automated update for Android deprecated-API usages |
title_full |
AndroEvolve: Automated update for Android deprecated-API usages |
title_fullStr |
AndroEvolve: Automated update for Android deprecated-API usages |
title_full_unstemmed |
AndroEvolve: Automated update for Android deprecated-API usages |
title_sort |
androevolve: automated update for android deprecated-api usages |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2021 |
url |
https://ink.library.smu.edu.sg/sis_research/6034 https://ink.library.smu.edu.sg/context/sis_research/article/7037/viewcontent/AndroEvolve_2020_av__1_.pdf |
_version_ |
1770575744206897152 |