AndroEvolve: Automated Android API Update with Data Flow Analysis and Variable Denormalization

11/10/2020
by   Stefanus A. Haryono, et al.
0

The Android operating system is frequently updated, with each version bringing a new set of APIs. New versions may involve API deprecation; Android apps using deprecated APIs need to be updated to ensure the apps' compatibility withold and new versions of Android. Updating deprecated APIs is a time-consuming endeavor. Hence, automating the updates of Android APIs can be beneficial for developers. CocciEvolve is the state-of-the-art approach for this automation. However, it has several limitations, including its inability to resolve out-of-method-boundary variables and the low code readability of its update due to the addition of temporary variables. In an attempt to further improve the performance of automated Android API update, we propose an approach named AndroEvolve, which addresses the limitations of CocciEvolve through the addition of data flow analysis and variable name denormalization. Data flow analysis enables AndroEvolve to resolve the value of any variable within the file scope. Variable name denormalization replaces temporary variables that may present in the CocciEvolve update with appropriate values in the target file. We have evaluated the performance of AndroEvolve and the readability of its updates on 360 target files. AndroEvolve produces 26.90 correct updates compared to CocciEvolve. Moreover, our manual and automated evaluation shows that AndroEvolve updates are more readable than CocciEvolve updates.

READ FULL TEXT
research
12/14/2020

AndroEvolve: Automated Update for Android Deprecated-API Usages

Android operating system (OS) is often updated, where each new version m...
research
05/27/2020

Automatic Android Deprecated-API Usage Update by Learning from Single Updated Example

Due to the deprecation of APIs in the Android operating system,developer...
research
09/15/2022

AutoUpdate: Automatically Recommend Code Updates for Android Apps

Android developers frequently update source code to improve the performa...
research
12/31/2020

FILO: FIx-LOcus Localization for Backward Incompatibilities Caused by Android Framework Upgrades

Mobile operating systems evolve quickly, frequently updating the APIs th...
research
01/08/2018

An Empirical Study of Android Changes in CyanogenMod

Many phone vendors use Android as their underlying OS, but often extend ...
research
01/08/2018

The Android Update Problem: An Empirical Study

Many phone vendors use Android as their underlying OS, but often extend ...
research
01/25/2023

Scheduling Space Expander: An Extension of Concurrency Control for Data Ingestion Queries

With the continuing advances of sensing devices and IoT/Telecom applicat...

Please sign up or login with your details

Forgot password? Click here to reset