The 8th International Workshop on Genetic Improvement @ICSE 2020

Seoul Dragon City
Video Keynote Papers Schedule Organisers PC Sponsors

Important Dates

Workshop Video

Twitter hashtag #gi_icse_2020


Mark Harman

Mark Harman (Facebook, University College London) gave the opening keynote speech in GI 2020 (link to paper).

Mark Harman is an engineering manager at Facebook London, and also a part time professor of Software Engineering in the Department of Computer Science at University College London, where he directed the CREST centre for ten years (2006-2017) and was Head of Software Systems Engineering (2012-2017). His scientific work includes source code analysis, software testing, app store analysis and Search Based Software Engineering (SBSE), a field he co-founded and which has grown rapidly to include over 1,600 authors spread over more than 40 countries. In February 2017, he and the other two co-founders of the start-up Majicke moved to Facebook, London, where they are working on software test automation.


Human Factors in the Study of Automatic Software Repair by Emily Winter, David Bowes Steve Counsell, Tracy Hall, Saemundur Haraldsson, Vesna Nowack, John Woodward

Automatic software repair represents a significant development in software engineering, promising considerable potential change to the working procedures and practices of software engineers, developers, and testers. Technical advances within this domain have been the focus of many recent publications. However, despite the simultaneous rising prominence of studies that consider the role of ‘human factors’ within software engineering, there has not been an equivalent growth of studies of human factors within the domain of automatic software repair. This short position paper presents the case for increased research in this area and suggests three key focuses and approaches for a future research agenda. These are: considerations that go beyond the current focus on the usability of automatic software repair tools; longitudinal studies; and the use of a wide range of appropriate social research methods, not just surveys. All three of these position industry-based software engineers not just as providers of feedback on automatic software repair tools but as valuable participants in the shaping of these technologies, allowing for the development of tools that meet developer and industry needs, as well as allaying any concerns.

Presentation Slides

Synthetic Benchmarks for Genetic Improvement by Aymeric Blot, Justyna Petke

Genetic improvement (GI) uses automated search to find improved versions of existing software. If over the years the potential of many GI approaches have been demonstrated, the intrinsic cost of evaluating real-world software makes comparing these approaches in large-scale meta-analyses very expensive. We propose and describe a method to construct synthetic GI benchmarks, to circumvent this bottleneck and enable much faster quality assessment of GI approaches.

Presentation Slides

Stack-Based Genetic Improvement by Aymeric Blot, Justyna Petke

Genetic improvement (GI) uses automated search to find improved versions of existing software. If originally GI directly evolved populations of software, most GI work nowadays use a solution representation based on a list of mutations. This representation however has some limitations, notably in how genetic material can be recombined. We introduce a novel stack-based representation and discuss its possible benefits.

Presentation Slides

Checkers: Multi-modal Darwinian API Optimisation by Santanu Kumar Dash, Fan Wu, Michail Basios, Lingbo Li, Leslie Kanthan

Advent of microservices has increased the popularity of the API-first design principles. Developers have been focusing on concretising the API to a system before building the system. An API-first approach assumes that the API will be correctly used. Inevitably, most developers, even experienced ones, end-up writing sub-optimal software because of using APIs incorrectly. In this paper, we discuss an automated approach for exploring API equivalence and a framework to synthesise semantically equivalent programs. Unlike existing approaches to API transplantation, we propose an amorphous or formless approach to software translation in which a single API could potentially be replaced by a synthesised sequence of APIs which ensures type progress. Our search is guided by the non-functional goals for the software, a type-theoretic notion of progress and an automatic multi-modal embedding of the API from its documentation and code analysis.

Presentation Slides

Towards Knowledge Guided Genetic Improvement by Oliver Krauss, Hanspeter össenböck, and Michael Affenzeller

We outline a combination of Grammar Guided Genetic Programming with Tree Genetic Programming. Instead of utilizing a grammar directly, an operator graph based on that grammar is created, that is responsible for producing abstract syntax trees. Each operator contains knowledge about the grammar symbol it represents and returns only trees valid according to user-defined restrictions such as depth, complexity and approximated run-time performance. Initial Results show that the approach reduces invalid individuals in an evolutionary run, while supporting the extension towards further non-functional features.

Presentation Slides


Group Photos


Shin Yoo

Shin Yoo is a tenure-track Associate Professor at Korea Advanced Institute of Science and Technology in Daejeon, Republic of Korea. His main research interests are fault localisation, search based software testing, and genetic improvement.

Justyna Petke

Justyna Petke is a Principal Research Fellow and Proleptic Senior Lecturer (Associate Professor) in the Centre for Research on Evolution, Search and Testing (CREST), at University College London. She is interested in Genetic Improvement, Search-Based Software Engineering, and Constraint Satisfaction. She holds an EPSRC Fellowship on Genetic Improvement.

Westley Weimer

Westley Weimer is a Professor at the University of Michigan. He is interested in program analysis and transformation, automated program repair, and improvement of software properties.

Bobby R. Bruce

Bobby R. Bruce is a Postdoctoral Scholar at UC Davis where he primarily works on the gem5 computer architecture simulator. Prior to UC Davis, Bobby carried out research into the automatic optimization of Java bytecode at UCLA.

Gabin An

Web Chair: Gabin An is an PhD candidate at School of Computing Korea Advanced Institute of Science and Technology, Republic of Korea.

Bill Langdon

Special thanks to Bill Langdon for helping with advertising the workshop.


Nadia Alshahwan
Marcio Barros
Aymeric Blot
Lea Kristin Gerling
Tracy Hall
Yu Huang
Colin Johnson
ThanhVu Nguyen
Eric Schulte
Marija Selakovic
Christopher Timperley
Leonardo Trujillo
Jifeng Xuan
Yuan Yuan


We are grateful to our sponsors for their support of the 8th International Workshop (GI@ICSE 2020).