The Programming Principles and Tools group devises formal techniques and models for understanding programs, programming abstractions and languages, and develops related implementation technology.
Our work can be grouped into four themes:
|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.
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.
We focus on the design and analysis of executable programs describing biological phenomena, DNA computing, and molecular programming.
Marc Brockschmidt and Olya Ohrimenko join the team!
POPL success! [more]
Ben Hall's work on modelling safety valves in neurons has just appeared in Nature Communications [more]
Welcome to our latest PPT interns:
Peng Wang, Dylan Hutchison, Jason Gross, Ian Miers, Edward Yang, Divya Sharma, Andrew Stevenson, Antoine Delignat-Lavaud, Cristina Luengo Agulló, Karolis Velicka, Maria Gorinova, Victor Dumitrescu, Aleksandar Zelijic, Anton Ekblad, Yuxin Chen, Ernest Fraenkel.
Source code release of T2 now available! [download]
Andrey Rybalchenko joins the team! [more]
Matthew Parkinson is the recipient of the 2013 Dahl-Nygaard prize [more]
Georges Gonthier recently completed an historic computer-assisted proof of the Feit-Thompson Theorem [more]
Jasmin Fisher's work on modelling cancer cells was featured recently in Nature [more]
- Programming Principles
and Tools Research Group
21 Station Road
Cambridge CB1 2FB, UK
+44 1223 479700