Dr Raymond HuLecturer in Computer ScienceEmail: r.hu@qmul.ac.ukRoom Number: Peter Landin Building, 4th FloorOffice Hours: [Email me to arrange an appointment.]ProfileTeachingResearchPublicationsProfileRaymond Hu is a Lecturer in Computer Science in the School of Electronic Engineering and Computer Science (EECS) at Queen Mary University of London. He received a BA from the University of Cambridge, and an MSc and PhD from Imperial College London. He is a member of the Theory Group and the Centre for Fundamental Computer Science within EECS. His research interests include programming languages, specification and verification of concurrent and distributed systems, type systems, session types and behavioural types. See the Research tab for more info and Google Scholar for a list of his publications. TeachingLecturer for ECS401U Procedural Programming (Semester A). Module organiser for ECS652U Compilers (Semester B). I supervise UG and MSc projects. Feel free to contact me about potential projects. The best projects are usually those where the student finds a good topic in discussion with the supervisor (as opposed to the student coming up with a topic completely by themselves). Please see the QMplus pages for all details.ResearchResearch Interests:Current and recent topics Following are some selected topics and publications.See my Google Scholar page for a more complete publication list: [Google Scholar] Design and implementation of generics for the Go programming language. https://doi.org/10.1145/3428217 Theory, implementation and applications of session types. Rate-safe session types for embedded systems and Internet-of-Things. https://doi.org/10.1145/3622854 Combining multiparty sessions and event-driven actors https://simonjf.com/misc/hope23.pdf (preprint) 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 asynchronous barriers https://doi.org/10.1145/3229060 Recent news My Final Year Project student, Dawid Lachowicz, won the Kohei Honda Prize for his project on "Generic array sizes in the Go programming language". Congratulations, Dawid! Our paper on our preliminary work on monitoring timed protocols in Erlang is accepted at Erlang '24. 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. Congratulations, Grant and Cheng-En! I am co-chair of the PLACES '24 workshop (at ETAPS '24) with Diana Costa. Please consider submitting and attending! Our software artifact for our paper at OOPSLA 2023 won the OOPSLA Distinguished Artifact award. I was a discussion panel member at the ST30 "30 Years of Session Types" workshop at SPLASH 2023. I received a "Best early-career educator" award (2023) from the School of EECS at QMUL. Our paper on event-driven multiparty session actors with Simon Fowler is accepted at HOPE '24. Our paper on rate-safe session types for embedded systems and IoT is accepted at OOPSLA 2023. I gave an invited talk at the Stardust Project meeting (Sep 2022). I gave an invited seminar at the University of Kent about our work on session types for fault-tolerant event-driven programming (Dec 2021). 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 2021. General research interests Programming languagesDistributed programmingConcurrency and communicationMessage passingType systemsSession typesBehavioural types Publications Session-based distributed programming in Java R Hu, N Yoshida, K Honda European Conference on Object-Oriented Programming, 516-541 Behavioral types in programming languages N Yoshida, VT Vasconcelos, L Padovani, NN Bono, R Neykova, F Montesi, ... Foundations and Trends in Programming Languages 3 (2-3), 95-230 The Scribble protocol language N Yoshida, R Hu, R Neykova, N Ng International Symposium on Trustworthy Global Computing, 22-41 Type-safe eventful sessions in Java R Hu, D Kouzapas, O Pernet, N Yoshida, K Honda European Conference on Object-Oriented Programming, 329-353 Parameterised multiparty session types N Yoshida, PM Deniélou, A Bejleri, R Hu International Conference on Foundations of Software Science and … Hybrid session verification through endpoint API generation R Hu, N Yoshida International Conference on Fundamental Approaches to Software Engineering … Parameterised multiparty session types PM Deniélou, N Yoshida, A Bejleri, R Hu arXiv preprint arXiv:1208.6483 Practical interruptible conversations: distributed dynamic verification with multiparty session types and Python R Demangeon, K Honda, R Hu, R Neykova, N Yoshida Formal Methods in System Design 46 (3), 197-225 Practical interruptible conversations R Hu, R Neykova, N Yoshida, R Demangeon, K Honda International Conference on Runtime Verification, 130-148 Practical interruptible conversations: Distributed Dynamic Veriļ¬cation with Session Types and Python R Demangeon, R Hu, R Neykova, N Yoshida A linear decomposition of multiparty sessions for safe distributed programming A Scalas, O Dardha, R Hu, N Yoshida 31st European Conference on Object-Oriented Programming (ECOOP 2017) Explicit connection actions in multiparty session types R Hu, N Yoshida International Conference on Fundamental Approaches to Software Engineering … A session type provider: compile-time API generation of distributed protocols with refinements in F# R Neykova, R Hu, N Yoshida, F Abdeljallal Proceedings of the 27th International Conference on Compiler Construction … Safe parallel programming with session java N Ng, N Yoshida, O Pernet, R Hu, Y Kryftis International Conference on Coordination Languages and Models, 110-126 Distributed programming using role-parametric session types in go: statically-typed endpoint apis for dynamically-instantiated communication structures D Castro, R Hu, SS Jongmans, N Ng, N Yoshida Proceedings of the ACM on Programming Languages 3 (POPL), 1-30 Distributed programming using role-parametric session types in go: statically-typed endpoint APIs for dynamically-instantiated communication structures D Castro-Perez, R Hu, S Jongmans, C Ng, N Yoshida Association for Computing Machinery SPY: local verification of global protocols R Neykova, N Yoshida, R Hu International Conference on Runtime Verification, 358-363 Structuring communication with session types K Honda, R Hu, R Neykova, TC Chen, R Demangeon, PM Deniélou, ... Concurrent Objects and Beyond, 105-127 Structuring Communication with Session Types R Demangeon, R Hu, K Honda, N Yoshida, TC Chen, R Neykova On asynchronous eventful session semantics D Kouzapas, N Yoshida, R Hu, K Honda Cambridge University Press Dynamic deadlock verification for general barrier synchronisation T Cogumbreiro, R Hu, F Martins, N Yoshida ACM SIGPLAN Notices 50 (8), 150-160 Session-based programming for parallel algorithms: Expressiveness and performance A Bejleri, R Hu, N Yoshida arXiv preprint arXiv:1002.0933 Multiparty session nets L Fossati, R Hu, N Yoshida International Symposium on Trustworthy Global Computing, 112-127 Distributed programming using Java APIs generated from session types R Hu Behavioural Types: from Theory to Tools, 287-308 A linear decomposition of multiparty sessions for safe distributed programming (artifact) A Scalas, O Dardha, R Hu, N Yoshida DARTS-Dagstuhl Artifacts Series 3 Statically verified refinements for multiparty protocols F Zhou, F Ferreira, R Hu, R Neykova, N Yoshida Proceedings of the ACM on Programming Languages 4 (OOPSLA), 1-30 Secure execution of distributed session programs N Alves, R Hu, N Yoshida, PM Deniélou arXiv preprint arXiv:1110.4156 Featherweight Go R Griesemer, R Hu, W Kokke, J Lange, IL Taylor, B Toninho, P Wadler, ... arXiv preprint arXiv:2005.11710 Featherweight Go R HU, WEN KOKKE, J LANGE, IANL TAYLOR, B TONINHO, P WADLER, ... Language and Runtime Implementation of Sessions for Java R Hu, N Yoshida, K Honda ICOOOLPS 2007 Dynamic deadlock verification for general barrier synchronisation T Cogumbreiro, R Hu, F Martins, N Yoshida ACM Transactions on Programming Languages and Systems (TOPLAS) 41 (1), 1-38 A linear decomposition of multiparty sessions A Scalas, O Dardha, R Hu, N Yoshida Technical report, https://www. doc. ic. ac. uk/~ ascalas/mpst-linear Structural, safe and high-level communications programming with session types R Hu Imperial College London Safe parallel programming with session java O Pernet, N Ng, R Hu, N Yoshida, Y Kryftis Technical Report 14, Department of Computing, Imperial College London Implementation of a distributed mobile Java R Hu A Typing Discipline for Statically Verified Crash Failure Handling in Distributed Systems M Viering, TC Chen, P Eugster, R Hu, L Ziarek European Symposium on Programming, 799-826 Type-safe Communication in Java with Session Types R Hu, N Yoshida, K Honda Dependent Session Types for Evolving Multiparty Communication Topologies N Yoshida, PM Deniélou, A Bejleri, R Hu The SJ Framework for Transport-Independent, Type-Safe, Object-Oriented Communications Programming R Hu, N Yoshida, A Bejleri, K Honda Draft Concurrent combinators for mobile processes R Hu ISO report, Imperial College London Dynamic Deadlock Verification for General Barrier Synchronisation R HU, F MARTINS, N YOSHIDA Structured, Safe Amd High-level Communications Programming with Session Types R Hu Department of Computing, Imperial College London A Session Programming Tutorial for SessionJ R Hu Technology and Medicine R Hu Imperial College Dynamic Runtime Verification of Distributed Programs through Multiparty Session Types L Bocchi, TC Chen, R Demangeon, PM Deniélou, K Honda, R Hu, ... Dynamic deadlock verification for general barrier synchronisation T Soares Cogumbreiro Garcia, R Hu, F Martins, N Yoshida Behavioral Types in Programming Languages D Davide Ancona, M Bravetti, PM Deniélou, SJ Gay, N Gesbert, ... Eventful Sessions: Eventful Sessions: Types, Programming and Bisimilarity R Hu, D Kouzapas, O Pernet, N Yoshida, K Honda Practical interruptible conversations R Demangeon, K Honda, R Hu, R Neykova, N Yoshida Safety Assurance Framework for Distributed Systems through Multiparty Session Types L Bocchi, TC Chen, R Demangeon, PM Deniélou, K Honda, R Hu, ... Distributed Governance with Scribble R Hu, R Neykova, N Yoshida BEAT 2, 83