About Ally Donaldson

Ally Donaldson Growing up

I was born in Brighton, but my family moved to Bristol when I was two, then to Glasgow when I was seven. I went to Douglas Academy in Milngavie, near Glasgow, and spent most of my time playing music, taking classical lessons in piano, recorder and ‘cello, and playing the drums for Seraphin (unfortunately not the same Seraphin who went on to be quite successful!).

First degree

Seraphin was my main reason for staying in Glasgow to study, and computing science seemed like a fairly safe option since I had always had a passing interest in computers and found programming quite easy. Unfortunately, the band split up during my first semester at university! By happy chance, I developed a deep interest in computing science, and a completely unexpected interest in pure mathematics (maths has been a subject I vowed never to touch again after completing my Higher grade at school).

In 2002 I was fortunate enough to get a last-minute summer internship with Reuters in London, which was quite a formative experience. I toyed with the idea of getting into financial mathematics and considered moving to London after graduation. But then I got my creative spark back during the final year of my degree when I formed Latonic with my long term buddy Andy (who played the guitar in Seraphin) – this band re-captured everything fun about doing music. I also joined the Glasgow University Cecilian Society for a production of West Side Story, as a Shark. Joining the Caecilians was the best thing I have ever done, as during West Side Story I met Chris, a Jet girl – we got together and are now married!.

I managed to get a final year project in computing which involved a lot of group theory. The combination of a lovely girlfriend, a great band and an enjoyable course made the decision to stay at Glasgow and study for a Ph.D. an easy one!


After graduating with a combined honours degree in Computing and Mathematics (July 2003), I successfully applied for PhD funding from the Carnegie Trust. My final year project supervisor, Alice Miller, agreed to supervise the work, which was a direct continuation of the project. Throughout the PhD. I did a lot of gigs and some recordings with Latonic, including the Half-Life EP, and a single, Turn On The Sky. I also played with Deckard for a tour of France, as a stand-in drummer.

My PhD research investigated the problem of automatically detecting symmetry in model checking, and I did an implementation for the SPIN model checker. The project involved a lot of analysis and type-checking of Promela specifications. This led to a general interest in programming language design and implementation, something which I had missed out on in my B.Sc. due to doing a combined degree.

I have always had a strong interest in the computing industry, and decided to do another internship during my PhD studies, this time with Graham Technology (who have since been bought and are now, bizarrely, called Sword Ciboodle – what a stupid name!). This gave me the opportunity to work on something completely separate from my thesis: a gesture recognition system for UML modelling (described in a workshop paper).

Codeplay Software Ltd.

I started working for Codeplay, an Edinburgh-based software company specialising in the design of compilers for emerging computer architectures, in January 2007. I worked on their Sieve parallel programming system, which won the won the Research and Development Award at the European Electronics Industry Awards 2008. As well as working on the Sieve compiler, I worked on the runtime system for the Cell BE processor. I also led a development project retargeting their VectorC compiler for a modern VLIW processor. By its nature, this work involved research, but it was refreshing to do some development-driven research having worked on an academic topic for three years.

Working at Codeplay led me to meet Anton Lokhmotov, who was a Ph.D. student of Alan Mycroft at the University of Cambridge Computer Laboratory. Anton and I have published some papers together about Sieve, and continue to collaborate on topics related to software performance optimization, with Paul Kelly and Lee Howes at Imperial College London.

During 2008, I recorded Desirable, a full-length album with Latonic, which is available on iTunes.

University of Oxford

In May 2009 I moved to the University of Oxford Computing Laboratory to start an EPSRC Postdoctoral Fellowship, investigating formal verification techniques for heterogeneous multi-core programming. This builds on the work I did with the Cell processor while at Codeplay, and fittingly, Codeplay are a partner on my Fellowship proposal, as is the Software Performance Optimization group at Imperial College.

Although my Fellowship is an independent position, my research aligns well with the Formal Verification group, led byDaniel Kroening, and I am currently collaborating on some research ideas with Daniel and also with Thomas Wahl.