SPLI coordinates events and networking opportunities for PhD students from all of our member institutions. Many academics at our member institutions are open to new PhD students in various areas related to Programming Languages research. Below we list possible supervisors from our member institutions as well as a brief description of their research interests.
University of Edinburgh
- Myrto Arapinis (Provable security, including Verification of cryptographic protocols, Formal models, Protocol composition, Applied cryptography, Quantum cryptography with a particular interest in electronic voting)
- David Aspinall (Software security and privacy, Theorem proving, Specification and verification)
- Peter Buneman (Query languages, Semistructured data, Data provenance)
- James Cheney (Databases, Logic/Verification, Applications to provenance, Scientific-data management, Security)
- Jacques Fleuriot (Formal verification, Interactive theorem proving)
- Bjoern Franke (Compilers, JIT compilers, Parallelisation, Dynamic binary translation, Processor simulation, Software transformation driven by dynamic information)
- Rob van Glabbeek (Foundations of concurrency and distribution)
- Andrew Gordon (All aspects of spreadsheeting including end-user programming with LAMBDA)
- Tobias Grosser (Compilers, Compiler optimizations, High-performance computing, Compilation of domain-specific languages)
- Chris Heunen (Foundations of quantum programming languages, Categorical semantics)
- Paul Jackson (Formal verification of hardware, software and cyber-physical systems, Interactive theorem proving)
- Ohad Kammar (Programming-language theory, Probabilistic programming, Meta programming, Category theory, Logic in Computer Science)
- Markulf Kohlweiss (Formal verification of cryptographic-protocol designs and implementations)
- Sam Lindley (Functional programming, Effect handlers, Behavioural types, Meta programming, Type inference, Expressiveness)
- Vijay Nagarajan (Software and Hardware techniques for performance, programmability, reliability and security)
- Mike O’Boyle (Compilers, Machine-learning-based compilation, Heterogeneous systems, Design space exploration)
- Liam O’Connor (Formal methods, Verification techniques, Specification and modelling, Testing, Language-driven engineering)
- Elizabeth Polgreen (Program-synthesis methods and applications, Software verification)
- Ajitha Rajan (Software engineering, Software testing, Static analysis, Robustness and interpretability of AI models)
- Don Sannella (Algebraic specification, Types and functional programming, Resource certification for mobile code)
- Amir Shaikhha (Domain-specific languages, Databases, Compilers)
- Ian Stark (Mathematical models for programming languages and concurrent systems)
- Perdita Stevens (Software engineering, Model-driven engineering)
- Michel Steuwer (Compilers, Domain-specific languages, Rewriting)
- Philip Wadler (Functional programming, Agda, Gradual typing, Behavioural types)
University of Glasgow
- Simon Gay (behavioural types, quantum programming languages)
- Phil Trinder (parallel and distributed programming languages)
- Wim Vanderbauwhede (programming language approaches to security, compilation to hardware, low-carbon and sustainable computing)
- Quintin Cutts (programming language education)
- Jeremy Singer (managed runtime systems)
- Colin Perkins (protocol specifications and standards)
- Ornela Dardha (behavioural types, mechanised programming language theory)
- Michele Sevegnani (concurrent modelling languages)
- Jose Cano Reyes (hardware-software co-design, edge computing)
- Gerardo Aragon Camarasa (programming languages for robotics)
- Gul Calikli (software engineering and programming languages)
- Simon Fowler (behavioural types, programming language implementation)
- Blair Archibald (modelling concurrent systems, parallel functional programming)
- Paul Harvey, School of Engineering (runtime systems)
Heriot-Watt University
- Ekaterina Komendantskaya
- Jurriaan Hage
- Lilia Georgieva
- Rob Stewart
- Hans-Wolfgang Loidl
- Jamie Gabbay
- Andrew Ireland
- Joe Wells
- James McKinna
- Kathrin Stark
- Filip Sieczkowski
- Marko Doko
University of St Andrews
- Edwin Brady (dependent types, type-driven development, domain-specific languages, reasoning about effects)
- Susmit Sarkar (formal architecture, memory consistency, compiler correctness)
- Chris Brown (refactoring, energy-aware programming, parallel programming)
- Olexandr Konovalov (programming language education, modelling)
- Tom Spink (compiler implementations, runtime systems, security)
- Özgür Akgün (domain-specific languages, constraint solutions, automated configuration)
- Ian Miguel (constraint modelling and solving)
- Ruth Hoffmann (domain-specific languages, models and symmetry reduction)
University of Stirling
- Patrick Maier
University of Strathclyde
- Guillaume Allais
- Type-driven programming, Correct-by-construction methodology, Proof automation, Generic programming, User experience of interactive compilers
- Bob Atkey
- formal analysis of programming languages via type theory, denotational semantics, and theorem provers
- Neil Ghani
- Category theory, Type theory, Functional programming, Game theory, Machine learning
- Jules Hedges
- Applications of [category theory, type theory, functional programming, etc.] in [economics, machine learning, statistics, control, etc.]
- Ross Horne
- Protocol verification (equivalence checking and privacy), Linked Data, Session Types and Proof Theory, Attack Trees, and Logic on Graphs
- Clemens Kupke
- Coalgebraic modelling of systems, Logical verification/model-checking, Fixpoint logics and their game-theoretic semantics, Logics for knowledge representation and databases, Automata theory
- Radu Mardare
- Logics for algebras and co-algebras, Quantitative algebraic reasoning, Approximation theories for systems, Reasoning about probabilistic and stochastic systems, Theories of bisimulation, Behavioural metrics, Metrics and topological approach to model theory
- Conor McBride
- dependent type theory, functional programming, effects and handlers, programming language design and metatheory, and the category theoretic underpinnings of all of the above
- Jan de Muijnck-Hughes
- Applications of programming language theory and technologies (namely type systems, dependent types, and functional programming) to make systems more trustworthy
- Fredrik Nordvall Forsberg
- Dependent type theory, especially homotopy type theory, and its semantics and applications, Constructive mathematics, Categorical semantics of programming languages
- William Waites
- Modelling of biological systems using process calculi, Applications of mathematics to public health, Generative models of synthetic populations, Low-carbon data collection for marine ecosystems and modelling thereof
University of the West of Scotland
- Paul Keir