Dr Ciaran McCreesh

Published: 16 November 2021

Algorithms for trustworthy constraint programming and optimisation

 Ciaran McCreesh photo

Dr Ciaran McCreesh
School of Computing Science  

Royal Academy of Engineering Research Fellowship, October 2021 – September 2026

Area of Research Algorithms for trustworthy constraint programming and optimisation

Why did you choose to pursue a fellowship in your research career?

Algorithms have seen a lot of bad press over the past few years, such as the Secretary of State for Education announcing in a press conference that there would be “no algorithms whatsoever” involved in exam results. Some of this distrust is warranted, and some of it is not entirely fair. Because of this public distrust, and the large number of bugs and published errors that I encountered during my PhD and postdoc, I became convinced that we need a more rigorous and disciplined approach to implementing and evaluating algorithms. Over the past few years, I’ve also become increasingly confident that I know how to tackle this problem. This fellowship gives me the time and resources needed to design, implement, and deliver a complete solution, all the way from theory to implementation and dissemination.

Why work at the University of Glasgow?

The School of Computing Science at Glasgow is unusual in that it contains both algorithms theory researchers, and researchers who implement and deploy algorithms in practical applications – and better yet, these people talk to each other regularly and even collaborate. This is ideal for me: I live halfway between these two camps, making the school an ideal place to do my research.

How would you describe your research in 20 words or less?

Making algorithms auditable, so we don’t have to trust the programmer to get it right.

What is your research highlight?

The wonderful feeling I had the first time I implemented and ran an algorithm for a complicated problem, and was able to verify with absolute certainty that the algorithm had produced the right answer. This was soon followed by the verifier telling me that my next algorithm implementation had a bug that had slipped through testing and peer review, which felt even better.

What do you look for in a collaboration?

I look for people with skills that complement my own strengths and that allow me to work on broader problems, rather than just trying to work with people who are exactly like me. The ideas behind my fellowship were a result of working both with theoreticians who have never implemented anything, and with application-focused researchers who cared only about the results but not how they were obtained.

How do you see your research impacting society?

Constraint optimisation solvers are computer programs used for logistics, scheduling and resource allocation problems. These solvers already affect everyone’s lives: they decide when your groceries are delivered, whether workers are given their preferred holiday times and work locations, who gets access to healthcare and when, and which schools your children can go to. Bugs in these algorithms affect livelihoods and lives. My fellowship will develop new methods to make these programs `show their working’, so they can be independently audited. This will eliminate the possibility of these algorithms giving the wrong answer without it being immediately detected. In the long term, I would like to see algorithms become a thing the public can trust, like bridges, lifts, and aircraft, and my research provides one of the steps in this direction.

What next?

It’s time for me to start building a team that will help me during and beyond the fellowship.

First published: 16 November 2021