Top login menu

Murray Edwards College
University of Cambridge
  • Home
  • Main page content

    Dr David Chisnall

    01223 763 776
    Murray Edwards College
    New Hall
    University of Cambridge
    CB3 0DF

    Bye Fellow in Computer Science

    Computer Science

    Bye fellow

    Murray Edwards is one of the friendliest places in Cambridge (I don’t think I’ve seen signs saying ‘please walk on the grass’ anywhere else).

    Computer Science has the most uneven gender ratio of any University of Cambridge department. I believe that Murray Edwards is well placed to help address this and let more women follow in the footsteps of pioneers like Ada Lovelace, Admiral Grace Hopper and Mary Allen Wilkes.

    Degrees and honours

    • 2000-2003: BSc Computer Science, University of Wales Swansea.
    • 2004-2007: PhD Computer Science, Swansea University.

    Awards and prizes

    • 2015: Program committee for EuroLLVM
    • 2015: Beyond the PDP-11: Processor support for a memory-safe C abstract machine Audience choice: Best presentation award.
    • 2014: The CHERI capability model: revisiting RISC in an age of risk Micro Top Picks ’15 Honourable Mention.
    • 2013: Guest expert for a series in Communication of the ACM on modern compiler design.

    Research interests

    Dr Chisnall is interested in projects that span different areas in computer science. In particular, how designs for parts at the top of a computing stack work around limitations in lower levels and what can be done at the lower levels to address this. A relevant example of this is his current research on the Java Virtual Machine, which exists because the underlying hardware cannot provide the security guarantees that are needed for the language. In the CHERI project, we aim to address this and make the same guarantees available to native code.

    He is particularly interested in interoperability between programming languages.  A modern web browser, such as Chrome or Firefox, is written in around 30 different programming languages.  When moving between languages there is a cognitive overhead for the programmer, just as there is moving between natural languages, and there is also overhead at run time in the when having to map between different abstractions.  He has undertaken work to address the latter problem, allowing very efficient bridging between languages, though there are still interesting research problems in the former.

    High-level (more human-friendly, less machine-code-like) programming languages often make safety guarantees that are not present in lower-level languages. Mixing languages often means that you get the worst of both worlds: the safety of a low-level language and the performance of a high-level one.  His ongoing work is focussed on removing this obstacle, developing extensions to the hardware and operating systems to ensure that it is possible to get the speed of a low-level language where required, without sacrificing the safety of a high-level language elsewhere.


    Dr Chisnall studied at Swansea University for both his undergraduate degree and PhD, before leaving academia to write several books (including The Definitive Guide to the Xen Hypervisor) and consult for a few years.  During this time he wrote over 150 articles for the mainstream tech press and worked on projects ranging from integration between dynamic languages to offloading Fortran code to the GPU.

    He returned to academia in March 2012 as a Research Associate in the University of Cambridge's Computer Laboratory.  He remained actively involved in open source, as an elected member of the FreeBSD Core Team, the maintainer of the GNUstep Objective-C runtime, and a long-time contributor to the LLVM project. He has used all of these projects in both research and teaching.

    He joined Murray Edwards in September 2014.  As Director of Studies (DoS) in Computer Science, he is responsible for undergraduate students in this subject, including admissions, arranging supervisions (small group teaching that accompanies lectures) and providing advice. Having spent time both in industry and academia, he hopes to be able to provide students at the College with advice in their course and in longer-term career plans.

    Within the department, he has supervised a number of final year projects and taught the MPhil Modern Compiler Design course. Last year two of his MPhil students presented their coursework miniprojects at the EuroLLVM conference.  He also chairs the Postdoc Forum, which represents postdocs within the department.


    View a complete list of Dr Chisnall's publications on the Computer Laboratory website.