Dr Ornela Dardha - Team Lead

Photo of Ornela Dardha

I am a Senior Lecturer (Associate Professor) in the School of Computing Science at the University of Glasgow. Within the School, I am the Theme Lead of Programming Languages and a member of Formal Analysis, Theory and Algorithms (FATA). I am Glasgow Site Leader of the European RISE Action Behavioural Application Program Interfaces (BehAPI) and previously I was a Co-I and a Postdoctoral Researcher of the UK EPSRC programme grant From Data Types to Session Types: A Basis for Concurrency and Distribution (ABCD). My research interests are in programming languages, concurrency, logic and verification. My goal is to design and develop rigorous formal models and software tools for communication-safe, adaptable and resilient concurrent and distributed systems.

Matthew Alan Le Brun

I started my PhD with the School of Computing Science at the University of Glasgow in January 2022, under the supervision of Dr Ornela Dardha and Dr Simon Fowler. I have previously completed a BSc and MSc in Computing Science at the University of Malta, where I focused on distributed computing, fault-tolerance, and consensus. My research has now shifted to session types for distributed computing protocols, with a specific focus on consensus algorithms.

Photo of Matthew Alan Le Brun

Arwa Hameed Alsubhi

Photo of Arwa Hameed Alsubhi

I completed my MSc in Computing Science, at the University of Glasgow in 2022. During my MSc I started developing the Coconut tool with Dr Ornela Dardha, which is a typestate-based library for C++ language that allows to define and enforce protocols for C++ objects. I started my PhD in October 2022 under the supervision of Dr Ornela Dardha. I will be working to investigate approaches, both theoretically and practically, to create sound, effective and scalable interoperable typestate-based tools.

Magdalena J. Latifa

I finisehd my undergraduate degree in Computing Science at the University of Glasgow in June 2022. My final year project focused on session types in functional calculi - I have worked on introducing capabilities into GV in order to allow safe channel sharing. In October 2022 I started my PhD programme under the supervision of Dr Ornela Dardha.

Photo of Lena Latifa

Ivan Nikitin

A picture of Ivan

I am a PhD student at the University of Glasgow under the supervision of Dr Colin Perkins and Dr Ornela Dardha. I focus on using formal methods to improve network protocol specifications and the network protocol standardisation process. Before this, I completed my undergraduate at UofG in June 2022, with my final year dissertation analysing QUIC as a transport layer for IoT devices, specifically as the transport layer for the MQTT protocol.

Past Members

Photo of Uma Zalakain
Uma Zalakain

Now in industry

Photo of Mathias Jakobsen
Mathias Jakobsen

Now in industry

Photo of Luke Gall
Luke Gall

Now in industry


Award Title Awarded To Awarded By
PPDP 10 Year Most Influential Paper Award Ornela Dardha ACM's PPDP Steering Committee
MSci Class Prize 2021-22 for the most outstanding single honours student in Computing Science Luke Gall School of Computing Science
Stuart Tasker Memorial Prize 2021-22 for the most promising student regardless of level Magdalena Latifa School of Computing Science
Single Honours Class Prize 2021-22 for Computing Science Magdalena Latifa School of Computing Science
Level 3 Honours Class Prize 2020-21 for Computing Science Magdalena Latifa School of Computing Science
Best Italian PhD Thesis in Theoretical Computer Science 2015 Ornela Dardha Italian Chapter of EATCS


Title Venue Authors Links
Coconut: Typestates for C++ (Extended Abstract) PLACES 2022 Arwa Alsubhi, Ornela Dardha
Capable GV: Capabilities for Session Types in GV (Extended Abstract) PLACES 2022 Magdalena Latifa, Ornela Dardha
Co-Contextual Typing Inference for the Linear π-Calculus in Agda (Extended Abstract) TyDe 2021 Uma Zalakain, Ornela Dardha
Papaya: Global Typestate Analysis of Aliased Objects PPDP 2021 Mathias Jakobsen, Alice Ravier, Ornela Dardha
π with Leftovers: A Mechanisation in Agda FORTE 2021 Uma Zalakain, Ornela Dardha


Papaya is an implementation for Scala of global typestate analysis allowing unrestricted aliasing. It is implemented as a compiler library for Scala, allowing it to be embedded into real-life programs, verifying at compile time that protocols are being adhered to by all instances. The protocols are expressed as singleton classes and thus are written in Scala itself. Using the @Typestate annotation a protocol is linked to a class, and the tool will generate errors or warning if instances of this class do not respect the protocol, or if a protocol is potentially left unfinished.
Coconut introduces typestates in C++ through a typestates library, providing templates for protocol definitions. Objects can then be statically checked against these protocols to ensure they behave accordingly. This project is expected to aid programmers by helping them detect violations of protocols that they themselves define, making the programming process more flexible, practical, and trouble-free.
Timed Mungo is an extension to the Mungo toolchain, that adds a timed variant of typestates to Java programs. Using the extended StMungo tool a timed multiparty session type is projected into local protocols which, using the @Typestate annotation, can be added to a Java class. Timed Mungo will then verify that the protocol is adhered to, within the specified timing constraints.
Tropicode is a a tool for analyzing typestates for languages targeting the Java Virtual Machine (JVM). As opposed to the previous tool, Tropicode works on the compiled low-level JVM bytecode, making it possible to check protocols in all languages targeting the JVM such as Java, Kotling, and Clojure. Out of the box it provides a Java integration with a @Protocol annotation that can be added directly to classes. It also provides mechanisms to add protocol to pre-existing classes such as the Java standard library.

Outreach Activities

Glasgow Science Festival 2022

Twice during the annual Glasgow Science Festival, CoLab hosted a stand at the Riverside Museum, introducing the concept of communication protocols through a treasure hunt tabletop game. The primary audience was young children, and while the chocolatey prize helped to grab their attention, it was great to see them engage and have fun while working together to devise a protocol that would help our pirate reach the treasure. It was a rewarding experience to have the chance to inspire young people to pursue computing science.

CoLab members wearing Glasgow Science Festival T-shirts
CoLab members wearing CoLab T-shirts