Dr Raymond Hu
Lecturer in Computer Science
School of Electronic Engineering and Computer Science
Queen Mary University of London
Research
Programming languages, Distributed programming, Type systems, Session types, Behavioural types
Interests
Recent and current topics
See my
Google Scholar page for a more complete publication list.
Here are some selected topics and publications.
- Design and implementation of generics for the Go programming language. Go is a programming language developed by Google, and used by many companies and organisations globally. This work is a collaboration between researchers and the Go Team at Google. The impact includes contributing to the final design of generics released in Go 1.18.
https://doi.org/10.1145/3428217 - Theory, implementation and applications of session types. This line of work has developed languages and practical tools for formal specification and safe programming of message passing protocols for concurrent and distributed systems. It stems from industry collaborations with Red Hat, Cognizant and the Ocean Observatories Initiative.
- Run-time deadlock verification for phasers. A generalisation of the concept of synchronisation barrier in concurrent programming that allows processes to asynchronously advance to later synchronisation phases ahead of their peers.
https://doi.org/10.1145/3229060
Recent news
- I am helping to organise TIME 2025 at QMUL. Please consider submitting, submission deadline 20th May!
- I was a jury member for the PhD exam of Carlos Jorge Velez Mão de Ferro, whose thesis has been approved with distinction. Congratulations, Dr de Ferro!
- Our paper on timed session programming in Erlang is accepted at ERLANG '24.
- My project student Dawid Lachowicz won the Kohei Honda Prize for his Final Year Project on extending Go with generic arrays. Congratulations, Dawid!
- I participated and learned a lot at the Dagtushl Seminar “Next Generation Protocols for Heterogeneous Systems”.
- My co-authors Grant Iraci and Cheng-En Chuang won a prize in the Russell L. Agrusa Student Innovation Competition at the University at Buffalo for our work on rate-based session types.
- I am co-chair of the PLACES '24 workshop (part of ETAPS '24) with Diana Costa. Please consider submitting and attending!
- Our software artifact for our paper at OOPSLA '23 won the OOPSLA Distinguished Artifact award.
- I was a discussion panel member at the ST30 "30 Years of Session Types" workshop at SPLASH '23.
- I received a "Best early-career educator" award (2023/24) from the School of EECS at QMUL.
- Our paper on event-driven multiparty session actors is accepted at HOPE '23.
- Our paper on rate-safe session types for embedded systems and IoT is accepted at OOPSLA '23.
- I gave an invited talk at the Stardust Project meeting (Sep '22).
- I was a member of the PhD Committee for Malte Viering, whose thesis has been accepted with the grade of "excellent" (summa cum laude). Congratulations, Dr Viering!
- I gave an invited seminar at the University of Kent about our work on session types for fault-tolerant event-driven programming (Dec '21).
- I participated in the Dagstuhl Seminar "Behavioural Types: Bridging Theory and Practice".
- Our paper on session types for fault-tolerant event-driven programming is accepted at OOPSLA '21.
General research interests
Programming languages
Distributed programming
Concurrency and communication
Message passing
Type systems
Session types
Behavioural types
Publications

Publications of specific relevance to the Centre for Fundamentals of AI and Computational Theory
2025
Rate-Based Session Types for IoT DevicesIraci G Chuang C-E Hu R Ziarek L
Acm Transactions on Programming Languages and Systems,
Association For Computing Machinery (Acm) vol. 47 (3), 1-39.
17-09-20252024
Erlang on TOAST: Generating Erlang Stubs with Inline TOAST MonitorsPears J Bocchi L Hu R
Proceedings of the 23rd ACM SIGPLAN International Workshop on Erlang., 33-44.
28-08-2024
Proceedings 15th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric SoftwareCosta D Hu R
Electronic Proceedings in Theoretical Computer Science,
Open Publishing Association vol. 401
06-04-2024
Proceedings 15th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric SoftwareCosta D Hu R
In
Arxiv 04-04-20242023
Validating IoT Devices with Rate-Based Session TypesIraci G Chuang C-E Hu R Ziarek L
Proceedings of The Acm on Programming Languages,
Association For Computing Machinery (Acm) vol. 7 (OOPSLA 2), 1589-1617.
16-10-20232021
A multiparty session typing discipline for fault-tolerant event-driven distributed programmingViering M Hu R Eugster P Ziarek L
Proceedings of The Acm on Programming Languages vol. 5 (OOPSLA), 1-30.
15-10-20212020
Featherweight goGriesemer R Hu R Kokke W Lange J Taylor IL Toninho B Wadler P Yoshida N
Proceedings of The Acm on Programming Languages,
Association For Computing Machinery (Acm) vol. 4 (OOPSLA), 1-29.
13-11-2020
Statically verified refinements for multiparty protocolsZhou F Ferreira F Hu R Neykova R Yoshida N
Proceedings of The Acm on Programming Languages,
Association For Computing Machinery (Acm) vol. 4 (OOPSLA), 1-30.
13-11-20202019
Distributed programming using role-parametric session types in go: statically-typed endpoint APIs for dynamically-instantiated communication structuresCastro D Hu R Jongmans S-S Ng N Yoshida N
Proceedings of The Acm on Programming Languages,
Association For Computing Machinery (Acm) vol. 3 (POPL), 1-30.
02-01-20192018
Dynamic Deadlock Verification for General Barrier SynchronisationCogumbreiro T Hu R Martins F Yoshida N
Acm Transactions on Programming Languages and Systems,
Association For Computing Machinery (Acm) vol. 41 (1), 1-38.
11-12-2018
A session type provider: compile-time API generation of distributed protocols with refinements in F#Neykova R Hu R Yoshida N Abdeljallal F
Proceedings of the 27th International Conference on Compiler Construction., 128-138.
24-02-2018
A Typing Discipline for Statically Verified Crash Failure Handling in Distributed SystemsViering M Chen T-C Eugster P Hu R Ziarek L
Lecture Notes in Computer Science. vol. 10801, 799-826.
01-01-20182017
Distributed programming using Java APIs generated from session typesHu R
In
Behavioural Types From Theory to Tools English 287-308.
31-07-2017
A linear decomposition of multiparty sessions for safe distributed programmingScalas A Dardha O Hu R Yoshida N
Leibniz International Proceedings in Informatics Lipics. vol. 74, 241-2431.
01-06-2017
Explicit Connection Actions in Multiparty Session TypesHu R Yoshida N
Lecture Notes in Computer Science. vol. 10202, 116-133.
01-01-20172016
Behavioral Types in Programming LanguagesAncona D Bono V Bravetti M Campos J Castagna G Deniélou P-M Gay SJ Gesbert N et al.
Foundations and Trends® in Programming Languages,
Now Publishers vol. 3 (2-3), 95-230.
01-01-2016
Hybrid Session Verification Through Endpoint API GenerationHu R Yoshida N
Lecture Notes in Computer Science. vol. 9633, 401-418.
01-01-20162015
Dynamic deadlock verification for general barrier synchronisationCogumbreiro T Hu R Martins F Yoshida N
Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming., 150-160.
24-01-20152014
Practical interruptible conversations: distributed dynamic verification with multiparty session types and PythonDemangeon R Honda K Hu R Neykova R Yoshida N
Formal Methods in System Design,
Springer Nature vol. 46 (3), 197-225.
19-11-2014
On asynchronous eventful session semanticsKOUZAPAS D YOSHIDA N HU R HONDA K
Mathematical Structures in Computer Science,
Cambridge University Press (Cup) vol. 26 (2), 303-364.
10-11-2014
Structuring Communication with Session TypesHonda K Hu R Neykova R Chen T-C Demangeon R Deniélou P-M Yoshida N
Lecture Notes in Computer Science. vol. 8665, 105-127.
01-01-2014
Multiparty Session NetsFossati L Hu R Yoshida N
Lecture Notes in Computer Science,
Springer Nature vol. 8902, 112-127.
01-01-2014
The Scribble Protocol LanguageYoshida N Hu R Neykova R Ng N
Lecture Notes in Computer Science. vol. 8358, 22-41.
01-01-20142013
Practical interruptible conversations: Distributed dynamic verification with session types and PythonHu R Neykova R Yoshida N Demangeon R Honda K
Lecture Notes in Computer Science Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics. vol. 8174 LNCS, 130-148.
18-11-2013
Practical Interruptible ConversationsHu R Neykova R Yoshida N Demangeon R Honda K
In
Runtime Verification,
Springer Nature 130-148.
01-01-2013
SPY: Local Verification of Global ProtocolsNeykova R Yoshida N Hu R
Lecture Notes in Computer Science. vol. 8174, 358-363.
01-01-20132012
Parameterised Multiparty Session TypesDenielou P-M Yoshida N Bejleri A Hu R
Logical Methods in Computer Science,
Centre Pour La Communication Scientifique Directe (Ccsd) vol. Volume 8, Issue 4
11-10-20122011
Safe Parallel Programming with Session JavaNg N Yoshida N Pernet O Hu R Kryftis Y
Lecture Notes in Computer Science. vol. 6721, 110-126.
01-01-20112010
Session-Based Programming for Parallel Algorithms: Expressiveness and PerformanceBejleri A Hu R Yoshida N
Electronic Proceedings in Theoretical Computer Science. vol. 17, 17-29.
06-02-2010
Type-Safe Eventful Sessions in JavaHu R Kouzapas D Pernet O Yoshida N Honda K
In
Ecoop 2010 – Object-Oriented Programming,
Springer Nature 329-353.
01-01-2010
Parameterised Multiparty Session TypesYoshida N Deniélou P-M Bejleri A Hu R
Lecture Notes in Computer Science. vol. 6014, 128-145.
01-01-20102008
Session-Based Distributed Programming in JavaHONDA K Hu R Yoshida N
Proceedings of the 22nd European conference on Object-Oriented Programming (ECOOP '08). vol. 5142 (Lecture Notes in Computer Science), 516-541.
01-01-2008
Welterweight Go: Boxing, Structural Subtyping and GenericsHu R Lange J Toninho B Wadler P Griesemer R Keith R
Proceedings of The Acm on Programming Languages,
Association For Computing Machinery (Acm)
Research Group