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 a GI Workshop?

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.

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: