Programming Principles and Tools
Programming Principles and Tools

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. 
  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]
  Systems biology
We focus on the design and analysis of executable programs describing biological phenomena, DNA computing, and molecular programming. 

 

Team
Andrew Kennedy
Andrew Kennedy

Andrey Rybalchenko
Andrey Rybalchenko

Andy Gordon
Andy Gordon

Ben Hall
Ben Hall

Byron Cook
Byron Cook

Cedric Fournet
Cedric Fournet

Claudio Russo
Claudio Russo

Don Syme
Don Syme

Georges Gonthier
Georges Gonthier

Jasmin Fisher
Jasmin Fisher

Josh Berdine
Josh Berdine

Luca Cardelli
Luca Cardelli

Marc Brockschmidt
Marc Brockschmidt

Markulf Kohlweiss
Markulf Kohlweiss

Matthew Parkinson
Matthew Parkinson

Nick Benton
Nick Benton

Olya Ohrimenko
Olya Ohrimenko

Samin Ishtiaq
Samin Ishtiaq

Santiago Zanella-Béguelin
Santiago Zanella-Béguelin

Simon Peyton Jones
Simon Peyton Jones

Tony Hoare
Tony Hoare

Recent news
  • Welcome to our latest PPT interns: Aleksandar Zeljic, Alexey Bakhirkin, Anton Ekblad, Dana Silverbush, Olle Fredriksson, Tewodros Beyene, Vincent Laporte, Yuxin Chen.
  • Tony Hoare has been elected as an Honorary Fellow of the Cambridge Philosophical Society.  He will deliver his Inaugural Lecture on 19 November in the Bristol Myers Squibb Lecture Theatre (Dept of Chemistry, Lensfield Road, Cambridge).  The topic will be 'Could computers understand their own programs?'
  • Andrey Rybalchenko and Nuno Lopes have been awarded the HVC'14 Award for a PLDI'12 paper "Synthesizing Software Verifiers from Proof Rules [more]
  • Ben Hall has been awarded the prestigious Royal Society University Research Fellowship [more]
  • Together with external collaborators Christoph Wintersteiger received the IJCAR 2014 Best Paper Award together [more]
  • Ben Hall's work on modelling safety valves in neurons has just appeared in Nature Communications [more]
  • Source code release of T2 now available! [download]
  • 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 in Nature [more]
Playground

You're welcome to play with some of our work in your browser!

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.
Contact Us
  • Programming Principles
    and Tools Research Group
    Microsoft Research
    21 Station Road
    Cambridge CB1 2FB, UK
    +44 1223 479700