Dr Raymond Hu

Raymond Hu

Lecturer in Computer Science

School of Electronic Engineering and Computer Science
Queen Mary University of London
ORCID Google Scholar

Research

Programming languages, Distributed programming, Type systems, Session types, Behavioural types

Interests

Recent and current topics.

Below are some selected topics and publications.
See my Google Scholar page for a more complete publication list:
https://scholar.google.com/citations?hl=en&user=b08Zz1kAAAAJ

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. The impact of this work includes contributing to the final design of generics for Go 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.

- Rate-safe session types for embedded systems and Internet-of-Things.
https://doi.org/10.1145/3622854

- Failure handling and fault tolerance.
https://doi.org/10.1145/3485501
https://doi.org/10.1007/978-3-319-89884-1_28

- Refinement types for communication protocols.
https://doi.org/10.1145/3428216
https://doi.org/10.1145/3178372.3179495

- Communication protocols parameterised on the number of participants.
https://doi.org/10.1145/3290342

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 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) 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

solid heart iconPublications of specific relevance to the Centre for Fundamental Computer Science

2024

bullet iconErlang on TOAST: Generating Erlang Stubs with Inline TOAST Monitors
Pears J, Bocchi L and Hu R
Proceedings of the 23rd ACM SIGPLAN International Workshop on Erlang
28-08-2024
bullet iconProceedings 15th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software
Costa D and Hu R
Electronic Proceedings in Theoretical Computer Science, Open Publishing Association vol. 401 
06-04-2024

2023

Relevant PublicationValidating IoT Devices with Rate-Based Session Types
Iraci 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-2023

2021

Relevant PublicationA multiparty session typing discipline for fault-tolerant event-driven distributed programming
Viering M, Hu R, Eugster P and Ziarek L
Proceedings of The Acm On Programming Languages vol. 5 (OOPSLA), 1-30.  
15-10-2021

2020

Relevant PublicationFeatherweight go
Griesemer 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
Relevant PublicationStatically verified refinements for multiparty protocols
Zhou 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-2020

2019

Relevant PublicationDistributed programming using role-parametric session types in go: statically-typed endpoint APIs for dynamically-instantiated communication structures
Castro 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-2019

2018

Relevant PublicationDynamic Deadlock Verification for General Barrier Synchronisation
Cogumbreiro 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
Relevant PublicationA 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
24-02-2018
Relevant PublicationA Typing Discipline for Statically Verified Crash Failure Handling in Distributed Systems
Viering M, Chen T-C, Eugster P, Hu R and Ziarek L
 
01-01-2018

2017

Relevant PublicationDistributed programming using Java APIs generated from session types
Hu R
In Behavioural Types: From Theory to Tools English 287-308.  
31-07-2017
Relevant PublicationA linear decomposition of multiparty sessions for safe distributed programming
Scalas A, Dardha O, Hu R and Yoshida N
 
01-06-2017
Relevant PublicationExplicit Connection Actions in Multiparty Session Types
Hu R and Yoshida N
 
01-01-2017

2016

Relevant PublicationBehavioral Types in Programming Languages
Ancona 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
Relevant PublicationHybrid Session Verification Through Endpoint API Generation
Hu R and Yoshida N
 
01-01-2016

2015

Relevant PublicationDynamic deadlock verification for general barrier synchronisation
Cogumbreiro T, Hu R, Martins F and Yoshida N
Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
24-01-2015

2014

Relevant PublicationPractical interruptible conversations: distributed dynamic verification with multiparty session types and Python
Demangeon 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
Relevant PublicationOn asynchronous eventful session semantics
KOUZAPAS 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
Relevant PublicationStructuring Communication with Session Types
Honda K, Hu R, Neykova R, Chen T-C, Demangeon R, Deniélou P-M and Yoshida N
 
01-01-2014
Relevant PublicationMultiparty Session Nets
Fossati L, Hu R and Yoshida N
Lecture Notes in Computer Science, Springer Nature vol. 8902, 112-127.  
01-01-2014
Relevant PublicationThe Scribble Protocol Language
Yoshida N, Hu R, Neykova R and Ng N
 
01-01-2014

2013

Relevant PublicationPractical interruptible conversations: Distributed dynamic verification with session types and Python
Hu R, Neykova R, Yoshida N, Demangeon R and Honda K
 
18-11-2013
Relevant PublicationPractical Interruptible Conversations
Hu R, Neykova R, Yoshida N, Demangeon R and Honda K
In Runtime Verification, Springer Nature 130-148.  
01-01-2013
Relevant PublicationSPY: Local Verification of Global Protocols
Neykova R, Yoshida N and Hu R
 
01-01-2013

2012

Relevant PublicationParameterised Multiparty Session Types
Denielou 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-2012

2011

Relevant PublicationSafe Parallel Programming with Session Java
Ng N, Yoshida N, Pernet O, Hu R and Kryftis Y
 
01-01-2011

2010

Relevant PublicationSession-Based Programming for Parallel Algorithms: Expressiveness and Performance
Bejleri A, Hu R and Yoshida N
 
06-02-2010
Relevant PublicationType-Safe Eventful Sessions in Java
Hu R, Kouzapas D, Pernet O, Yoshida N and Honda K
In Ecoop 2010 – Object-Oriented Programming, Springer Nature 329-353.  
01-01-2010
Relevant PublicationParameterised Multiparty Session Types
Yoshida N, Deniélou P-M, Bejleri A and Hu R
 
01-01-2010

2008

Relevant PublicationSession-Based Distributed Programming in Java
HONDA K, Hu R and Yoshida N
 
01-01-2008