Programming principles We develop new ways to write, structure and reason about programs running in various environments. This includes advanced type and module systems, logics and semantic models, and probabilistic programming for machine learning.

Tools We contribute to the Haskell and F# programming languages. We have a strong interest in the Coq theorem prover. We build world-class verification tools as well as tools for modelling various biological systems.

Constructive security We work on various security and privacy issues surrounding programming, applications and systems. [more]

F# type providers and cloud programming featured at dotnetconf Microsoft's online conference for .NET. Using research results from our group, collaborators Tomas Petricek (fsharpWorks) and Isaac Abraham (elastacloud) presented this joint work with Don Syme on 19 March in an online presentation from Skype HQ, London.

Welcome to Aditya Nori who has just joined us from MSR India and James Lingard who has moved from the Systems & Networking Group.

The deadline for post-doc applications is January 5, 2015. Please allow a few days for your referees to upload their letters.

On 19 November 2014, Tony Hoare was awarded an Honorary Prize Fellowship of the Cambridge Philosophical Society. He gave a well attended lecture, addressing the question 'Can Computers Understand their Own Programs?'. His positive answer was supported by a survey of ideas derived from Aristotle, Euclid, and Alan Turing.

Playground

Careers

The Programming Principles and Tools group is always looking for Interns and Post-docs. We are also interested to hear from outstanding researchers and especially recent PhDs. For further information please contact Andy Gordon or any member of the team.