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: |
FOS: Computer and information sciences
Deprecation Computer science Program transformation [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] computer.software_genre Denormalization Readability Software Engineering (cs.SE) Deprecated Computer Science - Software Engineering Android Code (cryptography) Operating system readability API update API deprecation Android (operating system) data flow analysis computer Data-flow analysis |
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 |
Externí odkaz: |