Computer Laboratory

Dr Daniel R. Thomas

Project ideas

This page contains ideas which I think could be worked up into Part II/III/PhD projects and which I would be happy to help supervise.

  • Repeat the work in "Optimal policy for software vulnerability disclosure" by Arora, Telang, and Xu using a modern dataset.
  • Repeat the work in "Milk or Wine: Does software security improve with age?" by Ozment and Schechter extending it to the 10 years of OpenBSD data after it was published and (for substantially more research effort) extend it to Linux
  • Re-implement Paris traceroute in a language with better support for concurrency and memory safety in a way that is amenable to library usage. Current versions of Paris traceroute are either buggy (C++ version) or do not attempt to ensure memory safety (C version). My language of choice of this would be Go.
  • Plumbing with entropy. Randomness is hard to find in the predictable world of VMs and so needs to be provided from an external source. There are protocols like egd and algorithms such as Yarrow but plumbing that together to allow VMs to take randomness from multiple sources and for entropy providers to combine the randomness from multiple kinds of hardware random number generator requires some engineering.
  • It would be useful to know when a journey is going to be made more difficult by weather/transport issues in advance, this information is available, can we build a system such that users can subscribe to be told when it is going to rain on their journey or be disrupted by transport problems and suggest alternative solutions (leave half an hour earlier, get a different train).

Other related (or not so related) ideas are welcome, just send me an email