TL;DR
AndroEvolve is an automated tool that improves updating deprecated Android API usages in apps, addressing previous limitations with enhanced data flow analysis and variable handling, resulting in more accurate and readable code updates.
Contribution
It introduces AndroEvolve, a novel automated approach that outperforms existing tools in updating deprecated Android APIs with higher accuracy and better readability.
Findings
AndroEvolve correctly updated 319 out of 360 files, outperforming CocciEvolve's 249.
The tool produces code with higher readability according to evaluations.
AndroEvolve effectively addresses limitations of prior tools with advanced data flow analysis.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
