AutoUpdate: Automatically Recommend Code Updates for Android Apps

09/15/2022
by   Yue Liu, et al.
0

Android developers frequently update source code to improve the performance, security, or maintainability of Android apps. Such Android code updating activities are intuitively repetitive, manual, and time-consuming. In this paper, we propose AutoUpdate, a Transformer-based automated code update recommendation approach for Android Apps, which takes advantage of code abstraction (Abs) and Byte-Pair Encoding (BPE) techniques to represent source code. Since this is the first work to automatically update code in Android apps, we collect a history of 209,346 updated method pairs from 3,195 real-world Android applications available on Google Play stores that span 14 years (2008-2022). Through an extensive experiment on our curated datasets, the results show that AutoUpdate(1) achieves a perfect prediction of 25 the realistic time-wise evaluation scenario, which outperforms the two baseline approaches; (2) gains benefits at least 17 and BPE; (3) is able to recommend code updates for various purposes (e.g., fixing bugs, adding new feature, refactoring methods). On the other hand, the models (4) could produce optimistically high accuracy due to the unrealistic evaluation scenario (i.e., random splits), suggesting that researchers should consider time-wise evaluation scenarios in the future; (5) are less accurate for a larger size of methods with a larger number of changed tokens, providing a research opportunity for future work. Our findings demonstrate the significant advancement of NMT-based code update recommendation approaches for Android apps.

READ FULL TEXT
research
11/10/2020

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

The Android operating system is frequently updated, with each version br...
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
09/26/2018

Datasets of Android Applications: a Literature Review

Mobile phones and tablets have become the most widely used computing dev...
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
03/08/2021

Siri, Write the Next Method

Code completion is one of the killer features of Integrated Development ...
research
09/21/2022

Android Private Compute Core Architecture

Android's Private Compute Core (PCC) is a secure, isolated environment w...
research
04/06/2021

ASTANA: Practical String Deobfuscation for Android Applications Using Program Slicing

Software obfuscation is widely used by Android developers to protect the...

Please sign up or login with your details

Forgot password? Click here to reset