Selected publications

List all publications: chronologically, by subject area.

This page contains a selected list of my publications, in reverse chronological order (plus citations, where available, so that you can track related work). If you wish to see all of my publications, please see the links above.


Picking a CHERI Allocator: Security and Performance Considerations Jacob Bramley, Dejice Jacob, Andrei Lascu, Jeremy Singer, Laurence Tratt ISMM, June 2023


Don't Panic! Better, Fewer, Syntax Errors for LR Parsers Lukas Diekmann, Laurence Tratt ECOOP, July 2020


Default Disambiguation for Online Parsers Lukas Diekmann, Laurence Tratt SLE, October 2019


Virtual Machine Warmup Blows Hot and Cold Edd Barrett, Carl Friedrich Bolz, Rebecca Killick, Sarah Mount, Laurence Tratt OOPSLA, October 2017
Modelling Homogeneous Generative Meta-programming Martin Berger, Laurence Tratt, Christian Urban ECOOP, June 2017


Fine-grained Language Composition: A Case Study Edd Barrett, Carl Friedrich Bolz, Lukas Diekmann, Laurence Tratt ECOOP 2016, July 2016
Making an Embedded DBMS JIT-friendly Carl Friedrich Bolz, Darya Kurilova, Laurence Tratt ECOOP, July 2016
An Experimental Search-based Approach to Cohesion Metric Evaluation Mel Ó Cinnéide, Iman Hemati Moghadam, Mark Harman, Steven Counsell, Laurence Tratt Empirical Software Engineering, March 2016


Approaches to Interpreter Composition Edd Barrett, Carl Friedrich Bolz, Laurence Tratt Computer Languages, Systems, and Structures, March 2015
Program Logics for Homogeneous Generative Run-Time Meta-Programming Martin Berger, Laurence Tratt Logical Methods in Computer Science, 11(1:5), March 2015
The Impact of Meta-tracing on VM Design and Implementation Carl Friedrich Bolz, Laurence Tratt Science of Computer Programming, 98(3):408-421, February 2015


Eco: A Language Composition Editor Lukas Diekmann, Laurence Tratt Software Language Engineering (SLE), pages 82-101, September 2014


Detecting Ambiguity in Programming Language Grammars Laurence Tratt, Naveneetha Vasudevan Software Language Engineering (SLE), pages 157-176, October 2013
Storage Strategies for Collections in Dynamically Typed Languages Carl Friedrich Bolz, Lukas Diekmann, Laurence Tratt Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), pages 167-182, October 2013
Unipycation: A Case Study in Cross-language Tracing Edd Barrett, Carl Friedrich Bolz, Laurence Tratt Virtual Machines and Intermediate Languages (VMIL), October 2013
Parsing Composed Grammars with Language Boxes Lukas Diekmann, Laurence Tratt Scalable Language Specification (SLS), June 2013


Experimental assessment of software metrics using automated refactoring Mel Ó Cinnéide, Laurence Tratt, Mark Harman, Steven Counsell, Iman Hemati Moghadam Empirical Software Engineering and Management (ESEM), pages 49-58, September 2012


Direct left-recursive parsing expression grammars Laurence Tratt Technical report EIS-10-01, School of Engineering and Information Sciences, Middlesex University, October 2010
Experiences with an Icon-like expression evaluation system Laurence Tratt Dynamic Languages Symposium, pages 73-80, October 2010
Program logics for homogeneous meta-programming Martin Berger, Laurence Tratt International Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR), pages 64-81, May 2010
Comparative study of DSL tools Naveneetha Vasudevan, Laurence Tratt Workshop on Generative Technologies, ENTCS vol. 264, issue 5, pages 103-121, March 2010


Dynamically typed languages Laurence Tratt Advances in Computers, vol. 77, pages 149-184, July 2009
Control dependence for extended finite state machines Kelly Androutsopoulos, David Clark, Mark Harman, Zheng Li, Laurence Tratt Fundamental Approaches to Software Engineering (FASE), pages 216-230, March 2009


Evolving a DSL implementation Laurence Tratt Generative and Transformational Techniques in Software Engineering (GTTSE) II, LNCS vol. 5235, pages 425-441, December 2008
Domain specific language implementation via compile-time meta-programming Laurence Tratt ACM Transactions on Programming Languages and Systems (TOPLAS), 30(6):1-40, October 2008
A change propagating model transformation language Laurence Tratt Journal of Object Technology, 7(3):107-126, March 2008


Contrasting compile-time meta-programming in Metalua and Converge Fabien Fleutot, Laurence Tratt Workshop on Dynamic Languages and Applications, July 2007


Compile-time meta-programming in a dynamically typed OO language Laurence Tratt Dynamic Languages Symposium, pages 49-64, October 2005
Model transformations and tool integration Laurence Tratt Journal of Software and Systems Modelling, 4(2):112-122, May 2005