XClose

Centre for Research on Evolution, Search and Testing (CREST)

Home
Menu

Evolving Program Improvement Collaborators (EPIC)

EPIC aims to introduce a new way of developing software, as a collaboration between human and machine, exploiting the complementary strengths of each.

EPIC will automatically construct Evolutionary Program Improvement Collaborators (called Epi-Collaborators) that suggest code changes that improve software according to multiple functional and non-functional objectives. The Epi-Collaborator suggestions will include transplantation of code from a donor system to a host, grafting of entirely new features `grown' (evolved) by the Epi-Collaborator, and identification and optimisation of tuneable `deep' parameters (that were previously unexposed and therefore unexploited).

A key feature of the EPIC approach is that all of these suggestions will be underpinned by automatically-constructed quantitative evidence that justifies, explains and documents improvements.

EPIC aims to introduce a new way of developing software, as a collaboration between human and machine, exploiting the complementary strengths of each; the human has domain and contextual insights, while the machine has the ability to intelligently search large search spaces. The EPIC approach directly tackles the emergent challenges of multiplicity: optimising for multiple competing and conflicting objectives and platforms with multiple software versions.

Principle investigator 

Research staff 

Research Fellows

  • Jie Zhang
  • Giovanni Guizzo
  • Maria Kechagia

Research students

This project is funded by the ERC.