TY  - JOUR
TI  - Multi-Objective Improvement of Android Applications
EP  - 36
AV  - public
Y1  - 2025///
KW  - Android Apps
KW  -  Genetic Improvement
KW  -  Multi-Objective Optimization
KW  - 
Search-Based Software Engineering
ID  - discovery10198292
N2  - Non-functional properties, such as runtime or memory use, are important to mobile app users and developers, as they affect user experience. We propose a practical approach and the first open-source tool, GIDroid for multi-objective automated improvement of Android apps. In particular, we use Genetic Improvement, a search-based technique that navigates the space of software variants to find improved software. We use a simulation-based testing framework to greatly improve the speed of search. GIDroid contains three state-of-the-art multi-objective algorithms, and two new mutation operators, which cache the results of method calls. Genetic Improvement relies on testing to validate patches. Previous work showed that tests in open-source Android applications are scarce. We thus wrote tests for 21 versions of 7 Android apps, creating a new benchmark for performance improvements. We used GIDroid to improve versions of mobile apps where developers had previously found improvements to runtime, memory, and bandwidth use. Our technique automatically re-discovers 64% of existing improvements. We then applied our approach to current versions of software in which there were no known improvements. We were able to improve execution time by up to 35%, and memory use by up to 33% in these apps.
PB  - Springer Verlag
N1  - This version is the author accepted manuscript. For information on re-use, please refer to the publisher?s terms and conditions.
IS  - 2
SP  - 1
VL  - 32
JF  - Automated Software Engineering
A1  - Callan, James
A1  - Petke, Justyna
UR  - https://doi.org/10.1007/s10515-024-00472-7
ER  -