Category Archives: UCL

EPSRC 5 year Fellowship awarded to DAASE researcher Dr Justyna Petke

DAASE researcher Dr Justyna Petke has been awarded a prestigious five year fellowship by the Engineering and Physical Sciences Research Council for her research project: Automated Software Specialisation Using Genetic Improvement.

Dr Petke aims to change the face of software engineering by transferring the task of software specialisation from human to machine. The genetic improvement techniques that will be developed will provide an automated way to speed up computationally intensive calculations within software, saving time and money.

Genetic improvement is a novel field of research that has only arisen as a standalone area in the last few years. Several factors have contributed to the development and success of this field recently including the sheer amount of code now available online and the focus on automated improvement of non-functional properties of software, such as memory consumption.

“This fellowship is a dream come true. It will allow me to start my own small research group and pursue the development of automated software improvement techniques.  We have already had a few success stories in our group, yet the area of genetic improvement is still in it’s early stages, leaving lots of research opportunities to explore.”

Dr Justyna Petke

Dr. Petke is a world-leading expert on genetic improvement, publishing award-winning work on automated software specialisation and transplantation. She won two `Humies’ awarded for human-competitive results produced by genetic and evolutionary computation and a distinguished paper award at the International Symposium on Software Testing and Analysis. This work was also widely covered in media, including Wired magazine and BBC Click.

Dr. Petke will collaborate with a UK-based company, called Satalia, which provides the latest optimisation techniques to the industry.

DAASE research team and spinout MaJiCKe move to Facebook

mark and team at facebookDAASE research group MaJiCKe have moved to work with Facebook in London. MaJiCKe have developed software that uses Search Based Software Engineering (SBSE) to help engineers find bugs while reducing the inefficiencies of writing test code. Their product Sapienz automatically generates test sequences using SBSE to find crashes using the shortest path it can find. Sapienz is the world’s first automated test tool able to minimise the length of tests which simultaneously maximising the amount of code checked.

“We are very excited to have this outstanding opportunity to achieve real world impact for UCL’s excellent software engineering research”

Professor Mark Harman

The MaJiCKe team comprise Professor Mark Harman – Scientific Advisor, Yue Jia – CEO and Ke Mao – CTO from the department of Computer Science at University College London (UCL). Professor Harman cofounded the area of SBSE in 2001.

“We provide an atmosphere to nurture collaborations with industry, its great to see a team like this taking their world leading expertise to Facebook”

Jane Butler, UCL Engineering Vice Dean

All at DAASE wish Mark, Yue and Ke the very best of luck and look forward to hearing all about their contribution to Facebook’s goal of connecting the world.



DAASE SBSE Workshop – Day 2 – live blog

10am One minutes silence held at the beginning of the workshop for our beloved colleague Professor David Notkin who died yesterday. Our thoughts are with his family and friends at this very sad time.

Our first speaker this morning is Juergen Branke from Warwick Business School “Optimization in dynamic environments”


Evolutionary algorithms have grown into a mature field of research in optimization and have proven to be effective and robust problem solvers for a broad range of static real world optimization problems. Yet, since they are based on the principles of natural evolution and since natural evolution is a dynamic process in a changing environment they are also well suited to dynamic optimization problems.

With appropriate adjustments evolutionary computation is able to continuously adapt and is promising for applications where very few function evaluations are possible.

Next is Robert Feldt from Chalmers University of Technology, Sweden with ” Interactive and Adaptive Automated Testing Environments”

15 years ago Robert wanted to automatically generate program code, He failed but learnt a lot from that. He developed an IDE where you could automatically generate test cases.

Fitness guidance – f-Equalizer – being developed which can compare test case similarity.


It is implemented using a Javascript library called D3, it has a Ruby backend.

– break –

Next is Michael Orlov from Department of Computer Science, Ben-Gurion University, Israel

Evolving unrestricted Java software with FINCH

FINCH is a methodology for evolving Java bytecode enabling the evolution of extant unrestricted Java programs or programs.

Michael wanted to evolve some Java source code and improve some existing Java software.

The team decided to use Java – JVM bytecode rather than parse trees.


They used bytecode because it is less fragile than source code but must be correct in order to run correctly so genetic operators are still delicate. Good genetic operators are needed to produce correct offspring.


Java Wilderness, Artificial Ant

They found that completely unrestricted Java programs can be evolved via bytecode and extant Java programs can be improved.

– lunch –

First up after lunch is David White from Computing Sciences, University of Glasgow, UK talking about “The Programming Game: an alternative to GP for Expression Search”

David asks how well do we understand GP genetic programming search and talks about an alternative program search method. Monte Carlo tree search achieves some amazing results in the game of Go. It works by looking at game trees.


Advantages of Monte Carlo tree search are concise solutions, the game tree is human readable and parallelisation.

Future work includes adapting Monte Carlo tree search for program search.

Our last speaker is Justyna Petke from CREST Centre, SSE Group, Department of Computer Science, UCL. She will be speaking about “Genetic improvement of software: a case study”

Genetic improvement programming aims to improve code. Code is changed by reusing lines of the original code and adding, deleting, mutation, crossover etc.


Findings of the study were that genetic improvement programming automatically improves system behaviour in selected cases.

-Workshop wrap up –

Professor Mark Harman, DAASE project PI, thanks our speakers and everyone for coming.


Our workshop is now finished. Many thanks to all of our speakers and session chairs and of course our audience. See you at #COW27 😃