PhD Studentship: Reasoning about Racy Programs under Relaxed Consistency

A PhD studentship on “Reasoning about Racy Programs under Relaxed Consistency” is available in the School of Computer Science at the University of St Andrews, funded by Microsoft Research and EPSRC.

The project will involve developing reasoning principles and tools for relaxed memory consistency settings. This is a key problem in shared-memory concurrency at the low-level, whether in C or C++, or even higher-level languages such as Java.

There has been lots of work done on proving shared-memory concurrent programs correct, by the use of very sophisticated program logics such as Concurrent Separation Logic and RGsep. However, shared-memory concurrent programs actually do not satisfy a key building block of such logics, an assumption that memory is sequentially consistent. Instead, when programming at the low-level in C or C++, or even in relatively higher-level languages such as Java, programmers have to deal with relaxed memory consistency. How and whether sophisticated program logics can scale up to this setting is the open research question we seek to address. Furthermore, efficient concurrent code often have intentional races, making the problem harder (and rendering the standard prescription of data-race-freedom ineffective). If we can develop such a logic, we can build tools that can automatically analyse code and make them safe, efficient, and correct by suggesting appropriate fences or other mechanisms. With multiprocessors everywhere from personal mobile devices to servers, this is an important problem with a potential of high impact, both in theory and in practice.

The project will be supervised by Dr Susmit Sarkar at the University of St Andrews. Dr Jade Alglave of Microsoft Research Cambridge will be the Microsoft supervisor. During the course of their PhD, Scholars are invited to Microsoft Research in Cambridge for an annual Summer School, and there is also a possibility of paid internships during studies. The studentship is fully funded to pay fees and stipend for students with a relevant connection to the UK.

Applicants are expected to have or expect to obtain a UK first-class Honours or Masters degree (or its equivalent from non-UK institutions) in Computer Science, but the minimum standard we require is an upper second-class Honours degree or equivalent. Some experience in concurrent and/or functional programming and an aptitude for mathematical subjects are required. Knowledge and experience of one or more of formal verification, mechanised proofs, and programming languages is highly desirable.

For further information on how to apply, see our postgraduate web pages. Ideally the student will start in October 2015, or as soon as possible thereafter. Further details on the project and suggested reading is available from Dr Susmit Sarkar.

PhD Interviews at St Andrews in CS

We have had an outstanding pool of applicants for our 600th Anniversary Scholarships to do a PhD in Computer Science.  This means that in the coming weeks we will be conducting many interviews with potential PhD students.  If you are one of those, or if you are just interested in what our interviews are like, I thought it would be a good idea to tell you what our PhD interviews are like.   I’m going to assume that “you” is somebody being interviewed for a PhD place, just to make writing the rest of this post easier.

What Our PhD Intervews Are

I’ve been doing the job of academic responsible for PhD admissions for about 3 years, and in that time I think we’ve admitted one student without an interview. Continue reading

University of St Andrews 600th Anniversary PhD Scholarships in Computer Science

As part of the University of St Andrews 600th Anniversary celebrations, we are able to offer six PhD Scholarships in Computer Science for 2013, including fees and a stipend.

Human version of the St Andrews University crest, organised in part by Yi Yu, one of our PhD students

This celebrates a great moment in the life of the University, and the Scholarships may be held in any research area of the School. Our only requirements are that the proposed research would be good, we have staff to supervise it, and that you would be good at doing it.

You can see our
advert at
and also our local page with further information on postgraduate study in Computer Science.
Informal enquiries can be directed to or to potential supervisors.
Formal application is through our normal applications process, mentioning that you wish to be considered for the 600th Anniversary Scholarships.
The closing date for applications is February 4th, 2013.