Genetic Improvement of Software: From Program Landscapes to the Automatic Improvement of a Live System
Year: 2017
Type: dissertation
Abstract: In today’s technology driven society, software is becoming increasingly important in more \nareas of our lives. The domain of software extends beyond the obvious domain of computers, \ntablets, and mobile phones. Smart devices and the internet-of-things have inspired the integra- \ntion of digital and computational technology into objects that some of us would never have \nguessed could be possible or even necessary. Fridges and freezers connected to social media \nsites, a toaster activated with a mobile phone, physical buttons for shopping, and verbally \nasking smart speakers to order a meal to be delivered. This is the world we live in and it is an \nexciting time for software engineers and computer scientists. The sheer volume of code that is \ncurrently in use has long since outgrown beyond the point of any hope for proper manual \nmaintenance. The rate of which mobile application stores such as Google’s and Apple’s have \nexpanded is astounding. \nThe research presented here aims to shed a light on an emerging field of research, called \nGenetic Improvement ( GI ) of software. It is a methodology to change program code to improve \nexisting software. This thesis details a framework for GI that is then applied to explore fitness \nlandscape of bug fixing Python software, reduce execution time in a C ++ program, and \nintegrated into a live system. \nWe show that software is generally not fragile and although fitness landscapes for GI are \nflat they are not impossible to search in. This conclusion applies equally to bug fixing in small \nprograms as well as execution time improvements. The framework’s application is shown to \nbe transportable between programming languages with minimal effort. Additionally, it can be \neasily integrated into a system that runs a live web service. \nThe work within this thesis was funded by EPSRC grant EP/J017515/1 through the DAASE \nproject.
Author: Sæmundur Ó. Haraldsson
Language: English
Subfield: Information Systems
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W2765261219
