PhD Opportunities

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.

If you are interested, please get in contact with a supervisor directly.

University of Edinburgh

Ajitha Rajan

Software engineering, Software testing, Static analysis, Robustness and interpretability of AI models

Amir Shaikhha

Domain-specific languages, Databases, Compilers

Bjoern Franke

Compilers, JIT compilers, Parallelisation, Dynamic binary translation, Processor simulation, Software transformation driven by dynamic information

Chris Heunen

Foundations of quantum programming languages, Categorical semantics

David Aspinall

Software security and privacy, Theorem proving, Specification and verification

Don Sannella

Algebraic specification, Types and functional programming, Resource certification for mobile code

Elizabeth Polgreen

Program-synthesis methods and applications, Software verification

Ian Stark

Mathematical models for programming languages and concurrent systems

Jacques Fleuriot

Formal verification, Interactive theorem proving

James Cheney

Databases, Logic/Verification, Applications to provenance, Scientific-data management, Security

Markulf Kohlweiss

Formal verification of cryptographic-protocol designs and implementations

Mike O’Boyle

Compilers, Machine-learning-based compilation, Heterogeneous systems, Design space exploration

Myrto Arapinis

Provable security, including Verification of cryptographic protocols, Formal models, Protocol composition, Applied cryptography, Quantum cryptography with a particular interest in electronic voting

Ohad Kammar

Programming-language theory, Probabilistic programming, Meta programming, Category theory, Logic in Computer Science

Paul Jackson

Formal verification of hardware, software and cyber-physical systems, Interactive theorem proving

Perdita Stevens

Software engineering, Model-driven engineering

Peter Buneman

Query languages, Semistructured data, Data provenance

Philip Wadler

Functional programming, Agda, Gradual typing, Behavioural types

Rob van Glabbeek

Foundations of concurrency and distribution

Sam Lindley

Functional programming, Effect handlers, Behavioural types, Meta programming, Type inference, Expressiveness

University of Glasgow

Blair Archibald

modelling concurrent systems, parallel functional programming

Colin Perkins

protocol specifications and standards

Gerardo Aragon Camarasa

programming languages for robotics

Gul Calikli

software engineering and programming languages

Jeremy Singer

managed runtime systems

Jose Cano Reyes

hardware-software co-design, edge computing

Michele Sevegnani

concurrent modelling languages

Ornela Dardha

behavioural types, mechanised programming language theory

Paul Harvey

runtime systems, adaptability, autonomous networks

Phil Trinder

parallel and distributed programming languages

Quintin Cutts

programming language education

Simon Fowler

functional programming, concurrent programming, behavioural types, multi-tier programming

Simon Gay

behavioural types, quantum programming languages

Wim Vanderbauwhede

programming language approaches to security, compilation to hardware, low-carbon and sustainable computing

University of St Andrews

Chris Brown

refactoring, energy-aware programming, parallel programming

Edwin Brady

dependent types, type-driven development, domain-specific languages, reasoning about effects

Ian Miguel

constraint modelling and solving

Olexandr Konovalov

programming language education, modelling

Özgür Akgün

domain-specific languages, constraint solutions, automated configuration

Ruth Hoffmann

domain-specific languages, models and symmetry reduction

Susmit Sarkar

formal architecture, memory consistency, compiler correctness

Tom Spink

compiler implementations, runtime systems, security

University of Stirling

Patrick Maier

parallel and distributed programming languages, parallel symbolic computation, parallel cost models

University of Strathclyde

Bob Atkey

formal analysis of programming languages via type theory, denotational semantics, and theorem provers

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

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

Fredrik Nordvall Forsberg

Dependent type theory, especially homotopy type theory, and its semantics and applications, Constructive mathematics, Categorical semantics of programming languages

Guillaume Allais

Type-driven programming, Correct-by-construction methodology, Proof automation, Generic programming, User experience of interactive compilers

Jan de Muijnck-Hughes

Applications of programming language theory and technologies (namely type systems, dependent types, and functional programming), to make systems more trustworthy

Jules Hedges

Applications of [category theory, type theory, functional programming, etc.] in [economics, machine learning, statistics, control, etc.]

Neil Ghani

Category theory, Type theory, Functional programming, Game theory, Machine learning

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

Ross Horne

Protocol verification (equivalence checking and privacy), Linked Data, Session Types and Proof Theory, Attack Trees, and Logic on Graphs

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

compilers, heterogeneous systems, metaprogramming, functional programming