AndroEvolve: Automated Update for Android Deprecated-API Usages

Autor: Lingxiao Jiang, Julia Lawall, Ferdian Thung, Lucas Serrano, Gilles Muller, David Lo, Hong Jin Kang, Stefanus Agus Haryono
Přispěvatelé: Singapore Management University (SIS), Singapore Management University, This research is supported by the Singa-pore NRF (award number: NRF2016-NRF-ANR003) and the ANR ITrans project., ANR-16-CE25-0012,ITrans,Inférence automatique de règles de transformation pour le portage des logiciels d'infrastructure patrimoniaux(2016), Well Honed Infrastructure Software for Programming Environments and Runtimes (Whisper), Inria de Paris, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
Jazyk: angličtina
Rok vydání: 2021
Předmět:
Zdroj: 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), May 2021, Madrid (virtual), Spain. pp.1-4, ⟨10.1109/ICSE-Companion52605.2021.00021⟩
ICSE (Companion Volume)
2021 IEEE/ACM 43rd International Conference on Software Engineering
2021 IEEE/ACM 43rd International Conference on Software Engineering, May 2021, Madrid / Virtual, Spain. pp.1-4, ⟨10.1109/ICSE-Companion52605.2021.00021⟩
Popis: International audience; 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
Databáze: OpenAIRE