PhD: Assembly Visualisation and Analysis  (AVA)


My most current work was on improving program comprehension of assembly language. This tool framework was a major contribution of my PhD thesis, and is named AVA (Assembly Visualization and Analysis). It won first place in the Hex-Rays contest in 2011.

The framework is available on GitHub.

Further details on installation or setting up AVA for development are included in my PhD dissertation.

Demo videos are also available on YouTube.



The idea for Eclippers came from my master's, and using tool support when implementing widespread system changes. Eclippers was created as patch support within Eclipse and includes:

  • Patch editor within Eclipse, including navigation to the patched code.
  • Visualisation to show where a patch applies at a high level. 
  • Gutter annotations that show where a patch will apply (or where it has applied). 
  • Language agnostic, no compilation required. 

Watch Eclippers in use as part of tool support for building Android apps called jimu.

Eclippers is available on GitHub.

Master's: Distributed JVM


My master's code is a distributed JVM based on Jikes, whose distribution was refactored from a patch file into aspects (written in AspectJ).

Installation Instructions.



You can do it, too! Sign up for free now at