The Programming Principles and Tools group devises formal techniques and models for understanding programs, programming abstractions and languages, and develops related implementation technology. Programming Principles and Tools is part of Microsoft Research Cambridge.
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, 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 systemms, seeking robust solutions to real-world large-scale security and privacy problems. [more]
Systems biology
We focus on the design and analysis of executable programs describing biological phenomena, DNA computing, and molecular programming.
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.
Programming Principlesand Tools Research GroupMicrosoft Research21 Station RoadCambridge CB1 2FB, UK+44 1223 479700