Andrew Birrell

Andrew Birrell

For the past 40 years or so, I’ve been doing systems research in the general areas of operating systems and distributed systems, with occasional excursions into security, end-user applications, and one physical gadget (the PJB). For historical details, see the personal details and publication list pages on my personal web site (which also contains a large pile of other stuff, mostly only distantly related to computer science).

My current research is on the (in)security of the X.509 PKI, as used by systems like the HTTPS protocol or various code-signing schemes.  We have a large database of X.509 certificates, some results from analyzing them, and some proposals for improving the situation.  We report some preliminary results in our forthcoming paper at HotOS 2013.

Previously, I was working on the Beehive project. Beehive is a multi-core computer, implemented on an FPGA. It is designed to enable research and teaching at the boundary of computer architecture and low-level systems programming. Beehive users have access to the raw hardware design (in Verilog), a collection of low-level software libraries (in C), and a toolchain with a C compiler. They can modify any or all of these, exploring "what-if" questions by experiment on a 13-core 100 MHz computer. We have made Beehive available to several universities, including MIT and ETH Zurich, with full source and an open license. Beehive is available only to those who have signed our license agreement.

Other work at Microsoft, since coming here in 2001, has included Automatic Mutual ExclusionDryadSingularity security, Desktop on a Keychain, LBOW (unpublished) and Penny Black.

My work email is b@m, where b=birrell and; my personal email is, where a=andrew and b=birrell.

Publications Since Joining Microsoft