UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Improving the Non-Functional Properties of Android Applications with Genetic Improvement

Callan, James; (2024) Improving the Non-Functional Properties of Android Applications with Genetic Improvement. Doctoral thesis (Ph.D), UCL (University College London). Green open access

[thumbnail of Improving_the_Non_Functional_Properties_of_Android_Applications_with_Genetic_Improvement (2).pdf]
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
Downloads since deposit
34Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item