Callan, James;
(2024)
Improving the Non-Functional
Properties of Android Applications
with Genetic Improvement.
Doctoral thesis (Ph.D), UCL (University College London).
Preview |
Text
Improving_the_Non_Functional_Properties_of_Android_Applications_with_Genetic_Improvement (2).pdf - Other Download (1MB) | Preview |
Abstract
There are 3.5 billion Android applications on the Google Play Store. However, surprisingly little work exists on automatically improving the source code of Android apps, especially when compared to traditional software. Genetic Improvement is a technique for automatically improving software which has proven successful in the past. However, its applicability in the Android domain is yet to be explored. In this thesis, we explore how GI can be used to improve Android apps. The first contribution of this thesis is an investigation into applying GI to An- droid with minimal changes from the standard technique, however, we achieved limited success. Next, we mined git repositories to try to find the changes that real developers make to improve the non-functional properties of applications. With what we learned in this study, we modified and successfully applied GI to improve the responsiveness of Android applications. We then moved on to multi-objective improvement, improving execution time and memory usage, but failing to improve network usage. We also provide a benchmark of tested applications that can be used to evaluate future automated improvement tools. We developed a profiler to find the most network-intensive methods to target and a novel mutation operator. Our final contribution is an adapted version of GI framework for network usage optimisation. We found that Genetic Improvement is an effective tool for improving multiple non-functional properties of Android apps. We found that by using simulation- based testing, rather than testing variants on devices, we could make GI faster and more practical. We found that there were many opportunities for GI to more closely mimic the types of changes made by developers and that caching in particular is an effective change type. We recommend future work further explores this direction.
Type: | Thesis (Doctoral) |
---|---|
Qualification: | Ph.D |
Title: | Improving the Non-Functional Properties of Android Applications with Genetic Improvement |
Open access status: | An open access version is available from UCL Discovery |
Language: | English |
Additional information: | Copyright © The Author 2023. Original content in this thesis is licensed under the terms of the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) Licence (https://creativecommons.org/licenses/by-nc/4.0/). Any third-party copyright material present remains the property of its respective owner(s) and is licensed under its existing terms. Access may initially be restricted at the author’s request. |
UCL classification: | UCL UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10189386 |
Archive Staff Only
![]() |
View Item |