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 Fundamental Computer Science
2024
Erlang on TOAST: Generating Erlang Stubs with Inline TOAST MonitorsPears J, Bocchi L and
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 and
Hu R Electronic Proceedings in Theoretical Computer Science,
Open Publishing Association vol. 401
06-04-20242023
Validating IoT Devices with Rate-Based Session TypesIraci G, Chuang C-E,
Hu R and 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 and 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 and 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 and 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 and 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 and 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 and 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 and 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 and Yoshida N
Leibniz International Proceedings in Informatics, LIPIcs. vol. 74, 241-2431.
01-06-2017
Explicit Connection Actions in Multiparty Session TypesHu R and 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, Giachino E,
Hu R, Johnsen EB, Martins F, Mascardi V, Montesi F, Neykova R, Ng N, Padovani L, Vasconcelos VT and Yoshida N
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 and 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 and 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 and 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 and 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 and Yoshida N
Lecture Notes in Computer Science. vol. 8665, 105-127.
01-01-2014
Multiparty Session NetsFossati L,
Hu R and 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 and 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 and 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 and Honda K
In
Runtime Verification,
Springer Nature 130-148.
01-01-2013
SPY: Local Verification of Global ProtocolsNeykova R, Yoshida N and
Hu R Lecture Notes in Computer Science. vol. 8174, 358-363.
01-01-20132012
Parameterised Multiparty Session TypesDenielou P-M, Yoshida N, Bejleri A and
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 and 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 and 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 and 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 and
Hu R Lecture Notes in Computer Science. vol. 6014, 128-145.
01-01-20102008
Session-Based Distributed Programming in JavaHONDA K,
Hu R and 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