GGGP: Grow and Graft Genetic Programming
Lead Research Organisation:
UNIVERSITY COLLEGE LONDON
Department Name: Computer Science
Abstract
Programming is hard. Adding new functionality to an existing, large, and perhaps poorly-understood system is a challenge, even for the most competent human programmer. Despite much progress in software development environments, programming still includes many human activities that are dull, unproductive and tedious. The GGGP project is motivated by the frustration often expressed as questions such as "Why do software engineers spend so long repeatedly performing the same tedious low level software development tasks?" and "How many times do programmers work out how to express the idea of null pointer checking in a particular context or adapt existing code for searching an iterated data structure?"
We want to find a radically new approach to software development, supported by automated search that, we believe, will yield a dramatic reduction in development time. We propose a new approach to software development: Grow and Graft Genetic Programming (GGGP), in which a new feature is grown (using genetic programming) and subsequently grafted into an existing system. This grow and graft development approach aims to reduce the amount of tedious effort required by human programmer in order to develop and add new functionality into an existing system.
Our initial proof of concept work found that surprisingly little human guidance and domain knowledge is required from the programmer to guide Grow and Graft Genetic Programming. We therefore believe that it can radically change programming,
making it faster and less error prone, with a consequent transformative effect on the software industry. We also believe it may make it more enjoyable to a wider range of people, with potentially transformative impact on the wider public involvement in
(and understanding of) software development.
Our approach can be best understood in the context of the recent trend in Search Based Software Engineering (SBSE) called "genetic improvement", which uses existing code as "genetic material" that helps to automatically improve existing software systems, which has achieved several recent notable breakthroughs, such as speed ups of 7 to 70 times on real-world systems, human competitive results in optimising constraint solvers, and automated bug fixing and repair work on existing systems.
We want to find a radically new approach to software development, supported by automated search that, we believe, will yield a dramatic reduction in development time. We propose a new approach to software development: Grow and Graft Genetic Programming (GGGP), in which a new feature is grown (using genetic programming) and subsequently grafted into an existing system. This grow and graft development approach aims to reduce the amount of tedious effort required by human programmer in order to develop and add new functionality into an existing system.
Our initial proof of concept work found that surprisingly little human guidance and domain knowledge is required from the programmer to guide Grow and Graft Genetic Programming. We therefore believe that it can radically change programming,
making it faster and less error prone, with a consequent transformative effect on the software industry. We also believe it may make it more enjoyable to a wider range of people, with potentially transformative impact on the wider public involvement in
(and understanding of) software development.
Our approach can be best understood in the context of the recent trend in Search Based Software Engineering (SBSE) called "genetic improvement", which uses existing code as "genetic material" that helps to automatically improve existing software systems, which has achieved several recent notable breakthroughs, such as speed ups of 7 to 70 times on real-world systems, human competitive results in optimising constraint solvers, and automated bug fixing and repair work on existing systems.
Planned Impact
The project will maximise impact on the academic sector. Naturally, the results of the project will be published in leading journals and conference proceedings. An indicative list is given in the pathways to impact plan. The project team will also organise four two day workshops to deepen collaboration and widen the research base in evolutionary computation and in search based software engineering.
The initial industrial beneficiaries will be the core industrial partners of the project. However, the project team have many other very close links to the industrial sector (these are listed in the pathways to impact). The impact plan lists the companies with which we have existing active research work. The project team will also exploit its extensive network of industrial champions from established on-going projects who will assist in uptake by this initial pool of industrial beneficiaries. Our public understanding consultant, Sue Black, will ensure that results are widely disseminated to the general public. Ultimately, through increased reliability and reduced costs, the IT-centric areas of the wider economy and the general public will benefit.
The initial industrial beneficiaries will be the core industrial partners of the project. However, the project team have many other very close links to the industrial sector (these are listed in the pathways to impact). The impact plan lists the companies with which we have existing active research work. The project team will also exploit its extensive network of industrial champions from established on-going projects who will assist in uptake by this initial pool of industrial beneficiaries. Our public understanding consultant, Sue Black, will ensure that results are widely disseminated to the general public. Ultimately, through increased reliability and reduced costs, the IT-centric areas of the wider economy and the general public will benefit.
Publications

CACM Staff
(2016)
Learn to live with academic rankings
in Communications of the ACM

Langdon B
(2019)
ACM-IEEE awards 2019
in ACM SIGEVOlution

Langdon W
(2016)
Parallel Problem Solving from Nature - PPSN XIV

Langdon W
(2017)
Genetic improvement of computational biology software

Langdon W
(2017)
Evolving better RNAfold C source code

Langdon W
(2019)
Genetic improvement of data gives double precision invsqrt

Langdon W
(2020)
Evolving sqrt into 1/ x via software data maintenance

Langdon W
(2021)
Fitness first and fatherless crossover

Langdon W
(2020)
Big data driven genetic improvement for maintenance of legacy software systems
in ACM SIGEVOlution

Langdon W
(2022)
Genetic programming convergence
Description | We have achieved breakthroughs in the improvement of the efficiency of software systems through genetic improvement |
Exploitation Route | This can improve the efficiency of software systems |
Sectors | Digital/Communication/Information Technologies (including Software) |
URL | http://www0.cs.ucl.ac.uk/staff/w.langdon/gggp/ |
Description | The genetic improvement to the chief in the project have been deployed by IBM and other smaller biotech companies. The genetically improved version of barracuda has been downloaded over 2000 times. Genetic Improvement has been used by Meta's Testing groups in the last two years. |
First Year Of Impact | 2021 |
Sector | Digital/Communication/Information Technologies (including Software) |
Impact Types | Economic |
Title | High order mutations of the Triangle Program |
Description | Trying all hopeful high order mutations to source code shows none of the first order schema of triangle software engineering benchmark are deceptive. Indeed these unit blocks lead to all global optima. Suggesting program improvements may not be as hard to find as is often assumed. |
Type Of Material | Improvements to research infrastructure |
Provided To Others? | No |
Impact | Although the triangle program is small, the number of possible triangle programs is huge. We have fully explored a regular subset of it. We reduced the size of its search space by considering only potential improvements to the existing code made by replacing its comparisons and by restricting the comparator mutations. This enabled us to analyse a systematic subset of the whole improvement fitness landscape. Solutions in the subset will still be solutions in the full problem. There are many solutions all of which are readily found by first order schema analysis. Suggesting the program fitness landscape is not as difficult to search as is often assumed. |
URL | http://www0.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/triangle.tar.gz |
Title | Replication off GI Division: Free Division |
Description | A replication package that demonstrates that GI can evolve the square root function into the inverse function. Other researchers can use this package to replicate and confirm the results. |
Type Of Material | Computer model/algorithm |
Year Produced | 2020 |
Provided To Others? | Yes |
Impact | none as yet |
URL | https://zenodo.org/record/3755346/export/dcat#.YEi2NC2l1qs |
Description | 14TH TAROT SUMMER SCHOOL 2018 on Software Testing, Verification & Validation - July 2018 |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Postgraduate students |
Results and Impact | will explain what Genetic Improvement (GI) is and how GI uses evolutionary computing and search based optimisation, particularly genetic programming (GP), on existing programs. I will give a brief summary of existing applications, current research and future applications. Existing GI research can be divided into improving functional and non-functional properties of existing code. Initially GI tended to concentrate on automatic bug repair in which functionality is improved by removing errors. More recently we looked at non-functional properties such as execution time, memory foot print and energy consumption, but work on functional properties now includes automatic enhancement by transplanting open source code, improved performance, e.g. better predictions, and automatic porting to new computer hardware. Society has become addicted to software, yet the production and maintenance of software remains highly labour intensive, resembling a hand craft, almost a cottage industry, rather than a smooth product line. Although software engineering tools continue to assist programmers they remain entirely human and automatic programming continue to be a long way off. Instead an intermediate goal of genetic improvement is not to assist people with their current programming tasks but to lift the level of abstraction by helping them to say what needs to be done and then Genetic Improvement offering a range of potential implementations, each Pareto optimal with respect to different user priorities. Indeed GI could already be part of personalised per user bag-of-parts software automatically configured by evolution. Open source program repositories are widely used in software engineering empirical investigations. There are now literally billions of lines of human written code available for analysis. Some analysis already uses advanced machine learning techniques. There is scope not only for learning how people write code but also how they test software. Although great progress has been made in automatic test case generation, knowing the answers the software under test should give (the oracle problem) remains a major stumbling block. As some code repositories also contain open source test suites,potentially machine learning might automatically infer test oracles. Although artificial evolution has been widely used in non-conventional systems I will concentrate on the software controlling digital computer based emergent and self-adaptive systems. Slides - http://www0.cs.ucl.ac.uk/staff/W.Langdon/tarot_2018/langdon_tarot_5-jul-2018.pdf |
Year(s) Of Engagement Activity | 2018 |
URL | https://wp.cs.ucl.ac.uk/tarot2018/ |
Description | 45th CREST Open Workshop - Genetic Improvement |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Postgraduate students |
Results and Impact | Genetic Improvement (GI) aims to find improved versions of existing programs that retain some partial semantics of the original (and possibly some of its syntax too). GI has been used to improve many system aspects such as its correctness (through bug fixing) and resource consumption such as time, memory and energy. It has also been used for other kinds of improvement such as specialising and porting. Many and varied techniques have proved successful at improving programs, such as loop perforation, genetic programming, guided random search, transplantation and constraint-based synthesis. This workshop will bring together researchers working on Search Based Software Engineering (SBSE), Program Synthesis, Genetic Programming, Program Analysis and Manipulation. We will explore the possible applications, development of techniques, evaluation and theory. Funding for the workshop is provided by the EPSRC projects DAASE (http://daase.cs.ucl.ac.uk) and GGGP. |
Year(s) Of Engagement Activity | 2016 |
URL | http://crest.cs.ucl.ac.uk/cow/45/ |
Description | 4th International Workshop on Genetic Improvement Workshop @ ICSE 2018 |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | 4th International Workshop on Genetic Improvement Workshop at ICSE 2018 Gothenburg, Sweden Genetic Improvement of Software regards the use of search-based techniques to improve software, with respect to some user-defined objectives, such as execution time or functional correctness. Our goal with the Genetic Improvement Workshop series is to promote research in this area. |
Year(s) Of Engagement Activity | 2018 |
URL | https://www.icse2018.org/track/icse-2018-Workshops |
Description | 6th Genetic Improvement Workshop at ICSE 2019, 28th May 2019 |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | The 6th International Workshop on Genetic Improvement @ ICSE 2019, 28th May 2019 Genetic Improvement is the application of evolutionary and search-based optimisation methods to the improvement of existing software. For example, it may be used to automate the process of bug-fixing or execution time optimisation. As academics in the field, we run the workshop to offer an opportunity for researchers to disseminate work, but most importantly to meet and discuss with other GI researchers. So far we had 5 editions of the workshop, four co-located with GECCO (in 2015, 2016, 2017 and 2018) and one with ICSE 2018. Since 2009 there have been four human competitive awards for work in GI (two Gold, one Silver and one Bronze) presented at GECCO and three best papers, including at the International Conference on Software Engineering and International Symposium on Software Testing and Analysis. |
Year(s) Of Engagement Activity | 2019 |
URL | http://geneticimprovementofsoftware.com/ |
Description | Alife Newcastle 2019 |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Presentation of "Continuous Long-Term Evolution of Genetic Programming" by Bill Langdon |
Year(s) Of Engagement Activity | 2019 |
URL | https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdx.doi.org%2Fdoi%3A10.1162%2Fisal_a... |
Description | Approaches and Applications of Inductive Programming |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Postgraduate students |
Results and Impact | Dagstuhl Seminar 15442 on Approaches and Applications of Inductive Programming |
Year(s) Of Engagement Activity | 2015 |
URL | http://www.dagstuhl.de/de/programm/kalender/semhp/?semnr=15442 |
Description | Evolving AVX512 Parallel C Code using GP at EuroGP 2019, 24-26 April 2019 Leipzig, Germany |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Presentation at EuroGP - 22nd European Conference on Genetic Programming EuroGP is the premier annual conference on Genetic Programming, the oldest and the only meeting worldwide devoted specifically to this branch of evolutionary computation. It is always a high-quality, enjoyable, friendly event, attracting participants from all continents, and offering excellent opportunities for networking, informal contact, and exchange of ideas with fellow researchers. It will feature a mixture of oral presentations and poster sessions and invited keynote speakers. |
Year(s) Of Engagement Activity | 2019 |
URL | http://www.evostar.org/2019/cfp_eurogp.php |
Description | Evolving Better Software Parameters presentation at SSBSE September 9th 2018, Montpellier |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Presentation at SSBSE conferrence http://www0.cs.ucl.ac.uk/staff/W.Langdon/ssbse2018/Langdon_2018_SSBSE_slides.pdf |
Year(s) Of Engagement Activity | 2018 |
URL | http://ssbse18.irisa.fr/program#remarks |
Description | GECCO 2019 in Prague |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Presentation of "Genetic Improvement of Data gives Binary Logarithm from sqrt." William B. Langdon and Justyna Petke. at GECCO 2019 in Prague |
Year(s) Of Engagement Activity | 2019 |
URL | https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdx.doi.org%2Fdoi%3A10.1145%2F331961... |
Description | Genetic Improvement by Evolving Program Data Seminar at Queen Mary University of London 12 December 2018 |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | Local |
Primary Audience | Postgraduate students |
Results and Impact | Presented Genetic Improvement by Evolving Program Data at Queen Mary University of London 12 December 2018. Genetic Improvement (GI) uses search based software engineering (SBSE) techniques, such as genetic programming (GP), to evolve existing programs. It has been used to automatically fix bugs (APR), speed up code and reduce energy consumption and memory foot print. Usually GI is applied to optimise source code but recently we have been applying evolutionary computing (EC) to data within programs. I will describe 1) updating 50000 integers inside C code to give more accurate predictions of RNA structure and 2) creating new cube root and log2 functions with CMA-ES applied to 1024 values in a GNU C library PowerPC implementation of sqrt(). http://www0.cs.ucl.ac.uk/staff/W.Langdon/gggp/langdon_qmul_12-dec-2018.pdf |
Year(s) Of Engagement Activity | 2018 |
URL | http://or.qmul.ac.uk/seminars.html |
Description | Genetic Improvement for faster Medical Imaging GPU Software, seminar at UCL - 27 February 2019 |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | Local |
Primary Audience | Postgraduate students |
Results and Impact | Genetic Improvement (GI) of software is a new area of computer science research in which search based techniques (SBSE), particularly genetic programming (GP), are applied to existing software. Typically directly to programme source code with a view to objectively improving it. Typical measures are speed, memory and reduced energy consumption but also functional improvements leading to fewer bugs (automatic program repair and bugfixing) better answers or porting to novel hardware have also been investigated. Dating back to the last century evolutionary search has been applied to various parallel approached including nVidia's CUDA, OpenCL, OpenACC compiler directives and Intel SIMD AVX. After a short introduction to evolutionary computing, GP and GI in general I will concentrate upon some work with CMIC's CUDA based NiftyReg which gave up to a 2000 fold speed up compared to a single 3.0 GHz CPU. Future research could consider automatic tuning of, in particular GPGPU kernels, to different GPU hardware and software. |
Year(s) Of Engagement Activity | 2019 |
URL | https://www.ucl.ac.uk/medical-image-computing/events/2019/feb/william-bill-langdon |
Description | Genetic Improvement of Software, January 28 - February 2 , 2018, Dagstuhl Seminar |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Organised a Dagstuhl Seminar, January 28 - February 2, 2018 Summary Genetic improvement (GI) uses automated search to find improved versions of existing software. It can be used for improvement of both functional and non-functional properties of software. Much of the early success came from the field of automated program repair. However, GI has also been successfully used to optimise for efficiency, energy and memory consumption as well as automated transplantation of a piece of functionality from one program to another. These results are impressive especially given that genetic improvement only arose as a separate research area in the last few years. Thus the time was ripe to organise a seminar that would gather researchers from GI and related areas together to summarise the current achievements and identify avenues for further research. The seminar attracted researchers from various GI-related software engineering areas, ranging from automated software repair through genetic programming and software testing to biological and evolutionary computation. The talks covered 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. In particular, GI theory and indeed software in general were discussed in terms of search landscape analysis. 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. The seven breakout groups' topics ranged from re-evaluating the basic components of the GI framework, such as fitness functions and traversing the GI search space, to identifying issues related to adoption of GI in industry. One of the issues has been explanation of the automatically generated changes, which might be a roadblock in applying them in the real-world, especially safety-critical, software. The seminar has already led to a few publications. For example, four papers accepted to the 4th International Genetic Improvement Workshop (GI-2018)1, co-located with the International Conference on Software Engineering (ICSE), 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 |
Description | Genetically Improved Software Seminar, Brunel Software Engineering Laboratory, Brunel University |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | Regional |
Primary Audience | Postgraduate students |
Results and Impact | Genetically Improved Software Seminar, Brunel Software Engineering Laboratory, Brunel University |
Year(s) Of Engagement Activity | 2016 |
URL | http://www.brunel-sweng.org/?page_id=92 |
Description | Poster - Evolving better RNAfold structure prediction @ EuroGP 2018 |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Presented POster - Evolving better RNAfold structure prediction - http://www0.cs.ucl.ac.uk/staff/W.Langdon/egp2018/langdon_2018_poster.pdf EuroGP is the premier annual conference on Genetic Programming, the oldest and the only meeting worldwide devoted specifically to this branch of evolutionary computation. It is always a very enjoyable event attracting participants from all continents, offering excellent opportunities for networking, informal contact, exchange of ideas and discussions with fellow researchers, in a friendly and relaxed environment. High quality papers describing new original research are sought on topics strongly related to the evolution of computer programs, ranging from theoretical work to innovative applications. The conference will feature a mixture of oral presentations and poster sessions. |
Year(s) Of Engagement Activity | 2018 |
URL | http://www.evostar.org/2018/cfp_eurogp.php |
Description | Seminar Exeter University - Optimizing Existing Software With Genetic Programming |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | Regional |
Primary Audience | Postgraduate students |
Results and Impact | Monday 29 Feb 2016: Optimizing Existing Software With Genetic Programming Bill Langdon - UCL H170 15:30-16:30 Genetic Improvement (GI) uses modern search based software engineering (SBSE) techniques such as Genetic Programming (GP), to optimise existing programs.? I plan to start with an introduction to genetic programming. Then give very brief descriptions of early GP work on evolving software from scratch and recent work on automatic bug fixing. Part of the motivation for GI is that customising software for different users, different hardware, different trade-offs between resources consumption (eg memory, speed, battery life) and quality, is at least as difficult and labour intensive as many other programming tasks and yet (we shall see) is at least partly automatable. Mostly I will concentrate on examples, such as given by the paper doi:10.1109/TEVC.2013.2281544 of the same name as the talk. Here GI automatically customised existing programs to give considerable speed ups with little lost in accuracy by evolving a new version of the program tailored to special cases. |
Year(s) Of Engagement Activity | 2016 |
URL | http://emps.exeter.ac.uk/computer-science/news/event/?semID=1783&dateID=4267 |
Description | Special Session at 2016 IEEE World Congress on Computational Intelligence - Genetic Improvement of Software + Search-Based Software Engineering |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Postgraduate students |
Results and Impact | In the past ten years there has been a dramatic increase in work on Search-Based Software Engineering (SBSE), an approach to software engineering in which search-based optimisation algorithms are used to address problems. The approach is attractive because it offers a suite of adaptive automated and semi-automated solutions in situations typified by large complex problem spaces with multiple competing and conflicting objectives. SBSE has been applied to a number of software engineering activities, right across the life-cycle from requirements engineering, project planning and cost estimation through testing, to automated maintenance, service-oriented software engineering, compiler optimisation and quality assessment. With this special session, we are providing an opportunity to showcase recent breakthroughs in this field. Scope and Topics We invite submissions on any aspect of SBSE, including, but not limited to, theoretical results and interesting new applications. The suggested topics cover the entire range of functional and non-functional properties: bandwidth minimisation latency minimisation fitness optimisation energy optimisation software specialisation memory optimisation software transplantation bug fixing multi-objective SE optimisation |
Year(s) Of Engagement Activity | 2016 |
URL | http://www.wcci2016.org/programs.php?id=home |
Description | Talk at UK Many-Core Developer Conference 2016 - |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Postgraduate students |
Results and Impact | BarraCUDA is a Bioinformatics tool which looks up in a reference genome short noisy DNA sequences produced by the billion by next generation sequencing tools. It is a port of the BWA algorithm by six co-authors who included both experts on CUDA and experts in Bioinformatics, especially BWA and the BWT compression algorithm. BarraCUDA is open source CUDA code and is available from SourceForge. The existing code was improved by a combination of manual changes and automatic genetic evolution. The genetically improved code has been incorporated and has been available from SourceForge for a year. As with all implementations of BWT, speed depends upon the length of the DNA reads. For shorter reads a single lowly GT 730 (£50) can be faster than BWA. The GI version of BarraCUDA is up to three times faster than the earlier version of BarraCUDA. The new version has been adopted by Lab7 and IBM (including for Power8). |
Year(s) Of Engagement Activity | 2016 |
URL | http://conferences.inf.ed.ac.uk/UKMAC2016/ |
Description | The 50th CREST Open Workshop - Genetic Improvement |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Postgraduate students |
Results and Impact | Genetic Improvement (GI) uses automated search to find improved versions of existing software. GI has been used to improve many system aspects such as its correctness (through bug fixing) and resource consumption such as time, memory and energy. It has also been used for other kinds of improvement such as specialising and porting. Many and varied techniques have proved successful at improving programs, such as loop perforation, genetic programming, guided random search, transplantation and constraint-based synthesis. This workshop will bring together researchers working on search based software engineering, program synthesis, genetic programming, program analysis, data mining and machine learning. We will explore the possible applications and connections between the various fields that will hopefully lead to development of new GI techniques for automated software improvement. |
Year(s) Of Engagement Activity | 2017 |
URL | http://crest.cs.ucl.ac.uk/cow/50/ |
Description | The 60th CREST Open Workshop - Those were the DAASE |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | Presented Genetic Improvement by Evolving Program Data at the fianle DAASE Project Advisory Board meeting http://www0.cs.ucl.ac.uk/staff/W.Langdon/gggp/langdon_cow60.pdf - slides |
Year(s) Of Engagement Activity | 2018 |
URL | http://crest.cs.ucl.ac.uk/cow/60/ |
Description | Theory of Randomized Optimization Heuristics - October 20 - 25 , 2019, Dagstuhl Seminar |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | October 20 - 25 , 2019, Dagstuhl Seminar Theory of Randomized Optimization Heuristics |
Year(s) Of Engagement Activity | 2019 |
URL | https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=19431 |
Description | Workshop on Statistics, Learning, Genetic Improvement and Testing for Programs |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | The 61st CREST Open Workshop - Statistics, Learning, Genetic Improvement and Testing for Programs. Date: 21st and 22nd October 2019 Venue: Friends House, 173-177 Euston Road, London, NW1 2BJ Overview: Software testing is expanding, growing, and finding new connections and uses like some strange mutant changeling. This workshop aims to reflect and celebrate this. To this end we want to attract software engineering researchers with interest and expertise in some of the following areas: applications of statistics to problems in SE, applications of machine learning to problems in SE, Genetic Improvement of Programs and, last but not least, Software Testing. We are interested in both the intersections and the unions of these areas and hope to find new research synergies beyond those that exist already. Examples of illustrative developments in this union from within CREST include Software Transplantation, novel approaches to testing machine learning systems, information theoretic models of failed error propagation and oracle improvement in software testing, the use of deep neural nets to create and reconfigure search landscapes in testing, the use of search in adversarial machine learning, and the use of testing in the application of GI to a long list of types of software improvement. To grow and deepen these connections, this workshop will present a list of talks in the union (and sometimes the intersections) of these areas. |
Year(s) Of Engagement Activity | 2019 |
URL | http://crest.cs.ucl.ac.uk/cow/61/ |
Description | XIVth International Conference on Parallel Problem Solving from Nature |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Postgraduate students |
Results and Impact | PPSN 2016, the 14th International Conference on Parallel Problem Solving from Nature (PPSN XIV). This biennial event constitutes one of the most important and highly regarded international conferences in nature-inspired computation, ranging from evolutionary computation and robotics to artificial life and metaheuristics. Continuing with a tradition that started in Dortmund in 1990, PPSN XIV was held during September 17-21, 2016, in Edinburgh, Scotland, UK, organised by Edinburgh Napier University. |
Year(s) Of Engagement Activity | 2016 |
URL | http://www.ppsn2016.org/conference/wp-content/uploads/2016/09/PPSN-Conference-Booklet.pdf |