FAQ & Resources

What is Genetic Improvement?

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.

What is the GI 2018 @ ICSE Workshop?

GI 2018 @ ICSE is a workshop on all things GI to be held in conjunction with ICSE 2018.

Who is behind GI 2018 @ ICSE?

The organising team consists of Prof. Westley Weimer (University of Michigan), Dr. Kathryn Stolee (North Carolina State University),  Prof. Bill Langdon, and Dr Justyna Petke (both at University College London).

What is the motivation for GI 2018 @ ICSE?

GI 2018 is the fourth GI workshop, building on the success of GI 2015 in Madrid, GI 2016 in Denver, and GI 2017 in Berlin, all co-located with GECCO.  Previous keynotes include Prof. Westley Weimer and Prof. Wolfgang Banzhaf.

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.

The publication rate in GI is growing fast:

(only “core” papers shown as defined in the GI survey)

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.

How can I find out more?

Check out this blog article about GI on the IEEE Software Blog, see recent survey, GI special issue,   Open PhD tutorial

In June 2016 there was a talk on GI at the International Summer School on Software Engineering, given by Professor Mark Harman (UCL), one of the foremost experts on GI and an international leader in search-based software engineering.

In January 2016 there was a CREST Open Workshop at UCL on Genetic Improvement. Full details of the talks and speakers are available. A second workshop took place in January 2017, a 3rd will be in Feb 2018

There will be a Dagstuhl Seminar on GI at the end of January 2018.

Details of the first edition of this workshop, GI 2015, can be found at http://geneticimprovement2015.com/

Proceedings of GI 2015 can be found in GECCO’15 Companion. Proceedings of GI 2016 can be found in GECCO’16 Companion. Proceedings of GI 2017 can be found in GECCO’17 Companion.

Also, try Wikipedia.

What are some examples of GI Frameworks?

Gin: GI in No Time – a Simple Microframework for Genetic Improvement

“The goal of Gin is to stimulate development in GI tooling, and to lower the barrier to experimenting with GI and related ideas such as program fragility.

GrammaTech released extensive tooling for the programmatic modification and evaluation of software; focused on modifying C/C++ source, assembly, and ELF files: link; and C/C++ manipulation tooling: link.

An excellent overview of automated software repair tools is given by Martin Monperrus.

Here are a few other examples of existing work:

Other frameworks and libraries identified at the Dagstuhl Seminar on Genetic Improvement of Software held in January 2018:

MuScalpel: automated software transplantation

DSpot: a tool for Genetic Improvement  of test suites

PyGGI: Python General Framework for GI

ARJA: multi-objective automated program repair

Reproduce and repair failing builds

Astor4Android: program repair for Android Apps

Can you suggest good GI Benchmarks?

Benchmarks identified at the Dagstuhl Seminar on Genetic Improvement of Software held in January 2018:

Parsec: http://parsec.cs.princeton.edu/

SPEC INT: https://www.spec.org/benchmarks.html

GI-improved test subjects with test cases:

http://www0.cs.ucl.ac.uk/staff/ucacbbl/gismo/ (see Free Code heading)


(several frameworks also come with benchmarks, please see GI frameworks above)

Automated program repair, bug repositories: