SEDec 14, 2020

AndroEvolve: Automated Update for Android Deprecated-API Usages

arXiv:2012.07259v219 citations
AI Analysis

This tool provides a more accurate and readable automated solution for Android developers facing API deprecation issues, improving app compatibility and maintainability.

This paper introduces AndroEvolve, an automated tool designed to update deprecated API usages in Android applications. It addresses limitations of the existing tool CocciEvolve by incorporating data flow analysis and variable denormalization, resulting in 319 correct updates out of 360 target files, compared to CocciEvolve's 249.

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 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.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes