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