Skip to main content

Martin Lester

Personal photo - Martin Lester

Dr Martin Lester

Senior Teaching Assistant

College Lecturer, Balliol College

Wolfson Building, Parks Road, Oxford OX1 3QD


I am interested in the theory and application of programming languages, both typed and untyped. This covers several areas of computer science, including the semantics of programming languages, the underlying mathematical structures and methods of formal verification.

Working with Steven Ramsay and Robin Neatherway, I was one of the developers of THORS, a type-based model-checker for verifying Alternation-Free Mu Calculus properties (and hence CTL properties) on value trees generated by Higher Order Recursion Schemes. This was the first model-checker for infinite state systems. The intended application of this work was verifying liveness properties of higher order functional programs.

My doctoral thesis focused on the verification of information security properties in dynamically typed languages, such as JavaScript. In particular, I studied how to produce a more principled analysis of metaprogramming constructs such as eval, which were ignored by most existing static analyses. Working with Max Schaefer under the guidance of Luke Ong, we produced an information flow analysis for a JavaScript-like language with staged metaprogramming. We published our work at CSF 2013. Following on from this, I developed an automated transformation from eval into staged metaprogramming.

More recently, I have been looking at intensional metaprogramming, in particular the SF-calculus: how to analyse it and how it relates to other forms of metaprogramming.

However, the majority of my time is currently spent teaching undergraduates, either in the department or in Balliol College.


My undergraduate degree was a BA in Computer Science, gained while studying at Gonville & Caius College, Cambridge (2003-2006). After a period working as a software developer for Autonomy Systems, I studied for the MSc in Mathematics and Foundations of Computer Science at St Edmund Hall College, Oxford (2008-2009). I completed my DPhil in Computer Science at Merton College, Oxford (2009-2015), under the supervision of Luke Ong.

Since 2013, I have been working for the department as a Senior Teaching Assistant. In addition, since 2014, I have been Balliol College's Lecturer in Computer Science.

I was part of the team from Luke Ong's research group that won the ICFP Programming Contest in 2011. Our winning entry was written in the functional programming language F#. In 2014, I was part of the organising committee for the contest, which challenged participants to write AIs for a Pacman clone.