Basios, Michail;
(2019)
Darwinian Code Optimisation.
Doctoral thesis (Ph.D), UCL (University College London).
Preview |
Text
Basios_10070648_thesis.pdf Download (3MB) | Preview |
Abstract
Programming is laborious. A long-standing goal is to reduce this cost through automation. Genetic Improvement (GI) is a new direction for achieving this goal. It applies search to the task of program improvement. The research conducted in this thesis applies GI to program optimisation and to enable program optimisation. In particular, it focuses on automatic code optimisation for complex managed runtimes, such as Java and Ethereum Virtual Machines. We introduce the term Darwinian Data Structures (DDS) for the data structures of a program that share a common interface and enjoy multiple implementations. We call them Darwinian since we can subject their implementations to the survival of the fittest. We introduce ARTEMIS, a novel cloud-based multi-objective multi-language optimisation framework that automatically finds optimal, tuned data structures and rewrites the source code of applications accordingly to use them. ARTEMIS achieves substantial performance improvements for 44 diverse programs. ARTEMIS achieves 4.8%, 10.1%, 5.1% median improvement for runtime, memory and CPU usage. Even though GI has been applied succesfully to improve properties of programs running in different runtimes, GI has not been applied in Blockchains, such as Ethereum. The code immutability of programs running on top of Ethereum limits the application of GI. The first step of applying GI in Ethereum is to overcome the code immutability limitations. Thus, to enable optimisation, we present PROTEUS, a state of the art framework that automatically extends the functionality of smart contracts written in Solidity and makes them upgradeable. Thus, allowing developers to introduce alternative optimised versions of code (e.g., code that consumes less gas), found by GI, in newer versions.
Type: | Thesis (Doctoral) |
---|---|
Qualification: | Ph.D |
Title: | Darwinian Code Optimisation |
Event: | UCL |
Open access status: | An open access version is available from UCL Discovery |
Language: | English |
Additional information: | Copyright © The Author 2019. Original content in this thesis is licensed under the terms of the Creative Commons Attribution 4.0 International (CC BY 4.0) Licence (https://creativecommons.org/licenses/by/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 > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10070648 |
Archive Staff Only
View Item |