Publications

A selection of the Team's publications are as follows:

2023

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

2020

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

2019

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

2017

Sound Gradual Typing: Only Mostly Dead Spenser Bauman, Carl Friedrich Bolz, Jeremy Siek, Sam Tobin-Hochstadt OOPSLA, October 2017
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
Record Data Structures in Racket: Usage Analysis and Optimization Tobias Pape, Vasily Kirilichev, Carl Friedrich Bolz, Robert Hirschfeld SIGAPP Applied Computing Review, January 2017

2016

Ten Simple Rules for Digital Data Storage Edmund Hart, Pauline Barmby, David LeBauer, François Michonneau, Sarah Mount, Patrick Mulrooney, Timothée Poisot, Kara H Woo, Naupaka Zimmerman, Jeffrey Hollister PLOS Computational Biology, October 2016
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
Adaptive Just-in-time Value Class Optimization for Lowering Memory Consumption and Improving Execution Time Performance Tobias Pape, Carl Friedrich Bolz, Robert Hirschfeld Science of Computer Programming, June 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

2015

Ten Simple Rules for Digital Data Storage Edmund Hart, Pauline Barmby, David LeBauer, François Michonneau, Sarah Mount, Patrick Mulrooney, Timothée Poisot, Kara H Woo, Naupaka Zimmerman, Jeffrey Hollister PeerJ PrePrints 3:e1804, October 2015
Evaluating and Comparing Language Workbenches Sebastian Erdweg, Tijs van der Storm, Markus Völter, Laurence Tratt, Remi Bosman, William R Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël Konat, Pedro J Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, Jimi van der Woning Computer Languages, Systems, and Structures, 44(A):24-47, August 2015
Language-independent Storage Strategies for Tracing-JIT-based Virtual Machines Tobias Pape, Tim Felgentreff, Robert Hirschfeld, Anton Gulenko, Carl Friedrich Bolz DLS, August 2015
Pycket: A Tracing JIT For a Functional Language Spenser Bauman, Carl Friedrich Bolz, Robert Hirschfeld, Vasily Kirilichev, Tobias Pape, Jeremy Siek, Sam Tobin-Hochstadt ICFP 2015, August 2015
Adaptive Just-in-time Value Class Optimization: Transparent Data Structure Inlining for Fast Execution Carl Friedrich Bolz, Robert Hirschfeld, Tobias Pape Object Oriented Programming Languages and Systems (OOPS), ACM SAC, April 2015
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

2014

Eco: A Language Composition Editor Lukas Diekmann, Laurence Tratt Software Language Engineering (SLE), pages 82-101, September 2014
Meta-tracing Makes a Fast Racket Carl Friedrich Bolz, Tobias Pape, Jeremy Siek, Sam Tobin-Hochstadt Dynamic Languages and Applications (Dyla), June 2014

2013

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