eprintid: 10198292 rev_number: 11 eprint_status: archive userid: 699 dir: disk0/10/19/82/92 datestamp: 2024-10-10 11:54:57 lastmod: 2025-03-07 16:28:20 status_changed: 2024-10-10 11:54:57 type: article metadata_visibility: show sword_depositor: 699 creators_name: Callan, James creators_name: Petke, Justyna title: Multi-Objective Improvement of Android Applications ispublished: pub divisions: UCL divisions: B04 divisions: F48 keywords: Android Apps, Genetic Improvement, Multi-Objective Optimization, Search-Based Software Engineering note: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. abstract: 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. date: 2025 date_type: published publisher: Springer Verlag official_url: https://doi.org/10.1007/s10515-024-00472-7 oa_status: green full_text_type: pub language: eng primo: open primo_central: open_green verified: verified_manual elements_id: 2326070 doi: 10.1007/s10515-024-00472-7 lyricists_name: Petke, Justyna lyricists_id: JPETK66 actors_name: Petke, Justyna actors_id: JPETK66 actors_role: owner funding_acknowledgements: EP/P023991/1 [EPSRC] full_text_status: public publication: Automated Software Engineering volume: 32 number: 2 pagerange: 1-36 citation: Callan, James; Petke, Justyna; (2025) Multi-Objective Improvement of Android Applications. Automated Software Engineering , 32 (2) pp. 1-36. 10.1007/s10515-024-00472-7 <https://doi.org/10.1007/s10515-024-00472-7>. Green open access document_url: https://discovery.ucl.ac.uk/id/eprint/10198292/7/Petke_Multi-Objective%20Improvement%20of%20Android%20Applications_VoR.pdf