
I’m a software engineer with an interest in code analysis, programming languages and developer tools, currently working at Diffblue.
I previously spent 5 years working on the open-source Java shrinker & optimizer ProGuard, ProGuardCORE and Android security solution DexGuard, at Guardsquare in Leuven, Belgium. Between 2015 and 2018, I worked as a COFUND Research Fellow for CERN in the Industrial Controls and Safety Group and before that I worked for DICT8 in London, developing their outsourced medical transcription system.
I received my PhD, with a thesis titled Dependence Communities in Source Code, from the Department of Computing at Goldsmiths, University of London in 2013. My research involved software analysis and the modelling of software as complex networks; this has applications in areas such as software maintenance and software watermarking. I was supervised by Dr Sebastian Danicic. I previously obtained First Class Honours in MSci Computer Science degree at Goldsmiths, University of London - a combined BSc Computer Science and a research based masters degree in which the primary research project was Static Source Code Analysis Tools and their Application to the Detection of Plagiarism in Java Programs.
I have previously taught part-time at Lewisham College on the Foundation Degree in Business & IT which is run in partnership with Greenwich University. I have also done freelance web and mobile app development work and acted as an expert witness in a software watermarking patent case.
I have been interested in computing since I was young starting out with old computers obtained from car-boot sales - my first computer was an Amstrad CPC464.
Recent Posts
- Java Hello World, LLVM Edition Jan 17, 2026
- Build a Peephole Optimiser using the Java 24 Class-File API Jan 17, 2025
- LLVM Hello World Sep 22, 2024
- Java Class-File API Hello World Translator Mar 16, 2024
- Build A Compiler With The Java Class-File API Jan 21, 2024
- Java Class-File API Hello World Oct 05, 2023
- JVM Hello World Jan 09, 2023
- Keep Rules in the Age of Kotlin Apr 12, 2022
- How To Build A Log4Shell Detector Feb 03, 2022
- Klox: A Kotlin implementation of lox with a JVM backend built using ProGuardCORE Oct 21, 2021