Multi-Objective Improvement of Android Applications
James Callan, Justyna Petke

TL;DR
This paper introduces GIDroid, an open-source tool that uses genetic improvement and multi-objective algorithms to optimize non-functional properties of Android apps, effectively balancing trade-offs like runtime and memory use.
Contribution
It presents the first practical, open-source multi-objective optimization tool for Android apps, incorporating novel mutation operators and a simulation-based testing framework.
Findings
GIDroid re-discovers 64% of known improvements in app performance.
It improves execution time by up to 35% in current app versions.
Memory usage is reduced by up to 33% in tested apps.
Abstract
Non-functional properties, such as runtime or memory use, are important to mobile app users and developers, as they affect user experience. Previous work on automated improvement of non-functional properties in mobile apps failed to address the inherent trade-offs between such properties. We propose a practical approach and the first open-source tool, GIDroid (2023), 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software System Performance and Reliability
