For prospective students

Visiting the lab, joining as an undergraduate, or applying to graduate school.

What we work on

Computers and software eventually fail. The question is not whether they will, but how to design systems so that they remain dependable despite failure.

We approach this mathematically rather than by intuition. We may not know when a particular failure will occur, but we can model it probabilistically. How long should testing continue before release? When should a machine be inspected to minimise total cost? These questions have quantitative answers, and deriving them is what this lab does.

Our tools are probability, statistics, and optimisation. Our targets range from software to cloud systems, communication networks, and power grids. Recent work applies machine learning and large language models to automated test generation.

Try the demos

Getting a feel for it is easier than reading about it. These run in your browser.

What you will learn

  • Reasoning with probability and statistics — modelling uncertain phenomena and using them as a basis for decisions
  • Programming — implementing algorithms that solve those models, in Julia, Python, R, or Rust
  • Reading and writing research — we publish at international conferences and in journals

After graduation

Most of our master’s graduates work in software development, quality assurance, or data analysis in the IT, manufacturing, and finance sectors. Some continue to doctoral study and academic careers.

Visits and enquiries

Lab visits are welcome at any time, as are questions about our research. See the contact page for how to reach us.

Prospective graduate students from outside the university are also welcome to get in touch.

Interactive demos

Research