Gonville and Caius

Today I’m joining a college.  Or, to be more precise, at a ceremony later this afternoon I’ll be admitted as a fellow to Gonville and Caius college.

Now the questions you might ask are why, and why aren’t you part of a college already—this is Cambridge after all and it’s all about the colleges, isn’t it?

Actually it’s not.  In Cambridge you don’t have to be part of a college.  All students are, both undergraduate and postgraduate.  Postdocs generally aren’t, although some colleges make provision for a small number of postdocs to be part of their community.  Lecturers, readers and professors can choose whether to be part of a college or not.
Continue reading…

Comparison of AArch64 Dynamic Binary Modification Tools

Over the past few years I’ve become increasingly interested in dynamic binary modification (DBM) tools, so much so that I supervise a PhD student who is trying to parallelise binaries using one, and am just starting work on a grant that continues and extends this work.  On Intel’s architecture, Pin is probably the most famous tool, and one that I had most experience of in the past.  (As an aside, Pin is a dynamic binary instrumentation tool, but I’m going to use modification instead of instrumentation throughout this post, since modification subsumes instrumentation and I’m more interested in optimisation than just analysis.)  However, it’s closed source and only targets Intel’s ISAs.  Another option is DynamoRIO, a tool that came out of a collaboration between HP Labs and MIT, from the original Dynamo system (a brief history is available).  This has support for multiple ISAs, not just x86 but ARM’s 32-bit architecture and, more recently, AArch64.  This is an attractive tool for researchers due to the multiple-ISA support and because it is open source.  However, there is also another open source DBM for AArch64, called Mambo, which comes from my friends at the University of Manchester.

I was interested to see the differences in performance between these two open-source systems.  DynamoRIO is far more mature, but the AArch64 support is still very much under development (and at the time of writing, I’m told that the focus is still on correctness rather than performance).  Mambo is younger and specialised to ARM’s ISAs but doesn’t yet have the range of support available in DynamoRIO for writing modification tools (plugins, in Mambo terminology, or clients for DynamoRIO).
Continue reading…

Negar’s Memorial

On Monday we held a memorial event in Emmanuel College for my PhD student, Negar, who died so tragically in October last year.  These are the words I said in memory of her.

The first time I talked to Negar was just over 5 years ago, in May 2012.  I can remember it vividly, sitting in Alan Mycroft’s office phoning Iran to interview a candidate for a job on hardware reliability.  She came across as a quiet person who was unflustered by the questions that we threw at her.  And behind that a determination too, a determination to secure the job, to come to Cambridge and achieve her ambition of studying for a PhD.
Continue reading…