Automated Software Specialisation Using Genetic Improvement

Lead Research Organisation: University College London
Department Name: Computer Science

Abstract

This fellowship will change the face of software development by transferring the challenging and time-consuming task of software specialisation from human to machine. It will develop novel approaches for specialising and improving efficiency of generalist software for particular application domains in an automated way. The developed techniques will be program-agnostic and thus applicable to any type of software. Therefore, they will allow to speed-up computationally intensive calculations that arise, for instance, in the field of bioinformatics or healthcare. This fellowship thus can contribute to driving research development in other fields of research by providing an automated way of adapting and speeding-up existing software used in a plethora of areas, both in research and in the industry.

The project will utilise and develop novel methods in the field of software engineering, called genetic improvement, to achieve the goals of the project. Genetic improvement is a novel field of research that only arose as a standalone area in the last few years. Several factors contributed to the development and success of this field, one of which is the sheer amount of code available online and focus on automated improvement of non-functional properties of software, such as energy or memory consumption.

Dr. Petke is a world-leading expert on genetic improvement, publishing award-winning work on automated software specialisation and transplantation. She won two `Humies' awarded for human-competitive results produced by genetic and evolutionary computation and a best paper award at the International Symposium on Software Testing and Analysis. This work was also widely covered in media, including the Wired magazine and BBC Click. The potential of genetic improvement for automating certain aspects of the software development process has thus been already recognised in the academic community and beyond.

Dr. Petke will collaborate with a UK-based company, called Satalia, which provides the latest optimisation techniques to the industry. She will apply deliverables of this project to automatically adapt and speed-up their generalist optimisation algorithms to particular classes of real-world problems. An example is specialisation of a general routing program to devising an optimal network for broadband connections. Therefore, the deliverables of this project will contribute to the UK economy by providing techniques that will automate the process of software specialisation for real-world optimisation problems.

Planned Impact

The project will have a revolutionary impact on the software development process. It will move the effort of modifying and adapting code from human to machine. By pushing the area of genetic improvement forward fully automated optimisation of large real-world software will be within reach.

The project will have a direct impact on the UK economy through collaboration with the industrial partner, Satalia. The company provides latest software optimisation technology to the industry. The project will lead to faster, automated solutions for Satalia, hence faster solutions to their clients. For example, Satalia optimised vehicle routes for a retailer to let more customers place orders without increasing fleet size. Similarly, generalist state-of-the-art routing algorithms will be automatically adapted for other route scheduling domains using techniques developed during the fellowship.

Through publishing at top software engineering and evolutionary computation venues and organisation of automated software specialisation and continuing the Genetic Improvement workshop series, deliverables of this project will be disseminated to academia. By releasing a tool for automated software specialisation via GitHub, other researchers will be able to optimise their software. More importantly, the techniques developed will be agnostic to the software being optimised. Therefore, researchers from fields outside of computer science will be able to use the tool.

The automated software specialisation tool developed during the fellowship will be open source. Dr. Petke will advertise it on software developer fora to reach out to people outside of academia. Through seminars, advertisement and work with Satalia automated specialisation techniques developed will be released both to academia and industry. It is envisioned that the techniques will be adopted in real-world software automating the software adaptation and optimisation process.

The human vs. computer competition on automated software specialisation will allow students to learn and get involved in the genetic improvement field. Therefore, they will gain access to the latest technology and garner interest to pursue research in this novel field that has huge potential in changing the way people program nowadays by transferring the optimisation effort from human to machine.
 
Description Facebook Testing and Verification RFP: Research Award
Amount $9,834 (USD)
Organisation Facebook 
Sector Private
Country United States
Start 10/2018 
 
Description A talk about my research as part of the Research Methods in Software Engineering course 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Local
Primary Audience Postgraduate students
Results and Impact I gave a talk about my research as part of the Research Methods in Software Engineering course at UCL. The lecture was attened by about 30 MSc students. A few students showed great interest, asking questions about my work.
Year(s) Of Engagement Activity 2018
 
Description An invited seminar talk at the University of Kent 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Postgraduate students
Results and Impact I gave an invited seminar talk at the University of Kent about my research, in particular, related to the ongoing work on the grant. The audience consisted of postgraduate students and academic staff. The talk sparked many questions, as it presented a different way of optimising software. The discussion carried on after the talk with a few people who were particularly interested in the work I presented.
Year(s) Of Engagement Activity 2019
URL https://www.cs.kent.ac.uk/research/groups/plas/seminarcalendar.html?eid=34460&view_by=month&date=201...
 
Description An invited talk at the Facebook Testing & Verification Symposium 2019 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other audiences
Results and Impact I was invited to give a talk about my winning research proposal that I submitted to the Facebook Testing and Verification call for proposals. On the first day, when I gave the talk, the audience consisted of academics who also won the awards from that call for proposals and a few of the Facebooks' employees. This provided an opportunity to talk about my research with other academics, but also with people from the industry. The following two days were open to a wider audience of around 200 people.
Year(s) Of Engagement Activity 2018
URL https://facebooktestingverificationsum.splashthat.com/
 
Description Organised the 4th Intenrational Genetic Improvement Workshop 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other audiences
Results and Impact The 4th Genetic Improvement workshop gathered researchers (both academics and students) in the area to discuss the latest findings. We also organised a keynote talk by Claire Le Goues, who is a well-known expert in automated software repair. We also provided studentships for students whose work was accepted at the workshop. Even though it was the first time it was held with ICSE it was one of the most attended workshops of the whole conference, with new publications, lots of discussion and new connections made for future work in the area.
Year(s) Of Engagement Activity 2018
URL http://geneticimprovementofsoftware.com/
 
Description Organised the first Dagstuhl Seminar on Genetic Improvement 
Form Of Engagement Activity Participation in an activity, workshop or similar
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other audiences
Results and Impact The seminar intended to bring together esearchers from various areas realted to genetiuc improvement of software. The expertise of participants ranged from automated software repair through genetic programming and software testing to biological and evolutionary computation. Invited academics and students talked about the latest research and speculations on future research both in the practical applications of genetic improvement, such as energy consumption optimisation and automated parallelisation, to initial results on much lacking GI theory. Other talks covered software testing and bug repair. The participants also identified a set of benchmarks and tools for GI. These have been published at the geneticimprovementofsofware.com website to allow other researchers to compare their new technologies against the state-of-the-art.

Aside from gathering a list of tools and benchamrks, the seminar's impact can be already seen in recent publications. For example, four papers accepted to the 4th International Genetic Improvement Workshop (GI-2018), co-located with the International Conference on Software Engineering (ICSE) (top conference in software engineering), were written by one or more workshop participants. Indeed most were started in Dagstuhl. Several other collaborations have been established, with plans for visits and further research on topics identified at the seminar. We look forward to results of this work initiated at Dagstuhl.
Year(s) Of Engagement Activity 2018
URL https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=18052