GGGP: Grow and Graft Genetic Programming
|
|
Principal Investigator
Dr. David Clark,
CREST, UCL
Named Researcher
Prof. William B. Langdon,
CREST, UCL
Academic Collaborators
Prof. Darrell Whitley,
Colorado State University
Dr. Wes Weimer,
University of Michigan
Industrial Collaborators
Visa, UK.
Microsoft: Redmond, Cambridge
Public Understanding Consultant
Prof. Sue Black
OBE
EPSRC Grant Ref:
EP/M025853/1
|
|
Software is not fragile
65%
of random mutations run and produce answers as good as the
original code.
33% are worse
(a tiny fraction, here
2.5%, are better).
|
What is Grow and Graft Genetic Programming (GGGP)?
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.
The Problem Addressed by GGGP?
To achieve its aims, the GGGP project will:
- Develop a theory of Grow and Graft Genetic Improvement (GGGP).
- Develop new method and algorithms for growing and grafting code into existing software systems.
- Quantitatively evaluate the project's algorithms and methods, using examples from the industrial
partners, benchmarks and specially constructed demanding examples.
Presentations and Events
-
Genetic Improvement, GGGP.
Seminar,
University of Lancaster,
2 March 2020.
Slides
-
62nd CREST Open Workshop,
COW62
20 and 21 January 2020.
"Genetic Improvement of Genetic Programming",
Slides
Slides
-
61st CREST Open Workshop
Data Driven Genetic Improvement,
21st and 22nd October 2019.
Slides
(photo)
-
Alife-2019
29 July to 2 August
(photos)
-
GECCO-2019
13-17 July
-
Genetic Improvement of Data gives Binary Logarithm from sqrt.
poster
code
-
Parallel GPQUICK,
late breaking paper.
poster
code
-
Genetic Improvement of Data gives double precision invsqrt,
GI @ GECCO 2019 workshop
slides
code
-
6th Genetic Improvement Workshop (GI 2019 @ ICSE)
Organizers:
Westley Weimer,
Bill Langdon,
Shin Hwei Tan,
Justyna Petke
-
Evolving AVX512 Parallel C Code using GP,
EuroGP 2019
Poster 1
code
-
Seminar,
Centre for Medical Image Computing (CMIC),
Department of Medical Physics and Biomedical Engineering,
University College London
27 February 2019.
Slides
-
Genetic Improvement by Evolving Program Data,
Seminar,
Queen Mary University of London
12 December 2018.
Slides
-
60th CREST Open Workshop
Evolving Square Root into Binary Logarithm,
RN/18/05.
3rd December 2018.
Slides,
C code
-
Evolving Better Software Parameters,
SSBSE 2018
Thelma Elita Colanzi and Phil McMinn (eds.),
8-9 September, Montpellier,
LNCS 110361, 363-369.
slides
gi_cbrt code
-
14th Training And Research On Testing Summer School
on Software Testing, Verification & Validation,
5 July 2018.
(slides,
demo opencv code)
(photo)
-
Novel Algorithm Workshop, ARM, 20th June 2018
-
4th Genetic Improvement Workshop (GI 2018 @ ICSE)
Organizers:
Westley Weimer,
Bill Langdon,
Katie Stolee,
Justyna Petke
(photos)
-
Evolving better
RNAfold structure prediction,
EuroGP 2018,
4 April.
Poster.
New RNAfold parameters: rna_langdon2018.par
-
Genetic Improvement of Software, 28 Jan-2 Feb 2018
(photo)
-
Emergent and Self-Adaptive Systems: Theory and Practice,
dsi@lancaster,
19-20 October 2017.
Slides
Panel discussion on
"The role of humans in designing and validating future systems"
-
54th CREST Open Workshop
Faster folds, better folds, GGGP version of RNAfold,
25 September 2017.
Slides
mpeg
-
GI 2017
,
Improving SSE Parallel Code with Grow and Graft Genetic Programming,
July 16th 2017.
Slides
photos
-
ECCSB 2017,
Genetic Improvement of Computational Biology Software,
July 16th 2017.
Slides
-
GECCO 2017,
Long-Term Evolution of Genetic Programming Populations,
15-19 July 2017.
LHS-2017
Slides
and
poster
photos
Animations: run
100
(shape)
101
103
104
105
106
107
109
YouTube video
-
Applying Genetic Improvement to Bioinformatics GPU Software,
Seminar,
University of Edinburgh,
15 June 2017.
-
Optimizing Bioinformatics Software With Genetic Programming,
Seminar,
University of Exeter
25 May 2017.
-
SBST 2017
Inferring Automatic Test Oracles.
May 22-23th 2017,
Slides
-
Dagstuhl Seminar
DOI
Slides
Landscape of the Triangle Program
Convergence in Genetic Programming
-
Visualising the Search Landscape of the Triangle Program,
EuroGP 2017
Slides
19-21 April
code data
-
Long-Term Evolution in Genetic Programming,
Seminar,
Aston University,
7 March 2017.
Slides
(animation).
-
The 50th CREST Open Workshop -
Genetic Improvement
30-31 January 2017.
Slides
mpeg
-
S-REPLS 4,
Revolutionising the Process of Software Development
Slides
-
SSBSE 2016,
API-Constrained Genetic Improvement
Slides
-
PPSN 2016
Kin Selection with Twin Genetic Programming.
poster
-
PPSN 2016
Optimising Quantisation Noise in Energy Measurement.
poster
-
PPSN 2016 Workshop on Landscape-Aware Heuristic Search
Fitness Landscape of the Triangle Program.
slides
-
Key Challenges and Future Directions of Evolutionary Computation
(CEC 2016) workshop,
Vancouver.
Genetic Improvement: A Key Challenge for Evolutionary Computation.
slides
-
Genetic Improvement 2016,
Denver,
July 20 2016.
Benchmarking Genetically Improved
BarraCUDA
on Epigenetic Methylation NGS datasets and nVidia GPUs.
slides
photo
-
Seminar. Brunel,
29 June 2016.
-
UKMAC 2016
UK Many-Core Developer Conference 2016.
Edinburgh.
(eg GPGPU general purpose computation on GPUs).
Using evolutionary computing to optimise
BarraCUDA,
10 May 2016.
slides
-
DAASE project meeting,
RN/16/01,
Optimising Quantisation Noise In Energy Measurement,
2 March 2016
-
Seminar Exeter
29 February 2016
-
Hertfordshire CS Research Colloquium
17 February 2016
-
CREST Open Workshop on Genetic Improvement
slides
video
The GI COW is the first workshop to be sponsored by GGGP.
-
Dagstuhl Seminar
Approaches and Applications of Inductive Programming
25-30 October 2015
Organizers:
Jose Hernandez-Orallo,
Stephen H. Muggleton,
Ute Schmid,
Benjamin Zorn (Microsoft Research, Redmond, USA)
slides
(benchmarks)
(photo)
Publications
To avoid duplications publications are in my home pages for
2016
to
2020
Free Code
Datasets
Miscellaneous slides
- UCL, Computer Science, SSE reading group:
"Correctness attraction..." Benjamin Danglot, Empir. Software Eng., 2018
langdon_sse_19-sep-2018.pdf
Notes
-
Not presented at EuroGP 2019 due to illess.
W.B.Langdon
21 Jan 2016
(last update 4 August 2020).