Project Proposals—Academic year 2013/2014

If you’re a third-year or masters student at University of Nottingham and you wish to take on one of these projects, or have your own project in mind, please mail me.

If anyone else either implements any of these, can prove that they’re impossible, or has any other interesting comment to make, then also, please mail me.

Network Traces

There are several possibilities here. libpcap is the standard packet format parser, but it’s reasonably poor at dealing with very large files (at least on Windows), with damaged files, and with files where an incomplete snaplen was used. Develop and evaluate a better one in a modern language, e.g., OCaml or F#. Develop tools to process traces taken in parallel from multiple vantage points, to good effect. Develop useful, novel visualisations of network trace data at multiple layers.


Mirage is a new way to build software appliances for the cloud. Application code is written in OCaml and then compiled and linked with necessary operating system libraries into a single standalone virtual machine image. A range of projects involving Mirage are possible ranging from implementing and evaluating some substantial piece of systems software, e.g., IMAP server, XMPP server, Wave server, BGP router; to introducing support in Mirage for alternative programming languages, e.g., Python via the (incomplete) Vyper OCaml implementation.

Personal Containers

This is one of my current research projects, and I would be interested in hearing any ideas for related student projects. Possible areas include development of interesting new data sources (either native or via shims); or development of query systems or automated code analysis or other provenance mechanism for personal data processing code.