Our Supervisors

 Our Supervisors

Our supervisors have interests spanning the pervasive parallelism spectrum. They are grouped here loosely by area, but many have interests spanning many topics, so please read all sections! We strongly recommend that you make contact with potential supervisors while preparing your application.

Architecture, Networks and Compilation

final_0038_Layer-11Christoph Dubach Adaptive software and hardware for energy-efficient computing. final_0034_Layer-15Bjorn Franke Advanced automatic parallelisation, code generation for embedded processors, dynamic binary translation, statistical performance estimation.
final_0032_Layer-17Boris Grot Processor architectures, memory systems, and interconnection networks for big-data computing. final_0021_Layer-28Hugh Leather Machine learning based optimizing compilation, energy optimization space exploration.
final_0020_Layer-29Myungjin Lee Computer networks: software-defined networking and its applications, data centre networking, measurement architectures, cloud computing and networked application characterisation. final_0018_Layer-31Mahesh Marina Wireless and mobile networking, performance evaluation, distributed systems and algorithms.
vijayVijay Nagarajan Parallel architectures: enhancing programmability and performance. Memory consistency, cache coherence and synchronization for scalable parallel architectures. mikeMike O’Boyle Machine learning based optimisation. Heterogeneous and GPGPU multi-core platforms.
final_0014_Layer-35Paul Patras Wireless networks, network protocols and architectures, performance analysis, optimisation, test beds and prototyping. final_0008_Layer-41Rik Sarkar Distributed computing, Algorithms, Network protocols, Mobile and sensor networks.
final_0004_Layer-45Nigel Topham Design and analysis of high-performance computing systems, architecture simulation.


 Programming Languages and Software

aspinalliDavid Aspinall Security and safety of concurrent code. Formal verification of language memory models. Program analysis of software frameworks providing concurrency. final_0041_Layer-8James Cheney Databases and programming languages; functional language design for data-parallel or data-intensive programming; provenance and reproducibility for validation of scientific computation.
final_0004_Layer-46Murray Cole Parallel programming models, skeletons and patterns. final_0012_Layer-37Ajitha Rajan Complexity metrics, coverage metrics, slicing and analysis of concurrent programs. Software Testing using GPUs.
final_0009_Layer-40Don Sannella Security via proof-carrying code, mobility and security, algebraic specification, foundations of formal software development. final_0031_Layer-18Ian Stark Mathematical models for programming languages and parallel interaction within concurrent systems: verifying embedded microcontrollers, securing mobile code, analysing biomolecular reactions.
final_0005_Layer-44Perdita Stevens Mathematics of software engineering, especially model-driven development. For example, Stevens works on properties of bidirectional transformations, which maintain consistency between changing information sources. final_0026_Layer-23Stratis Viglas Database systems, code generation, parallel and distributed processing, storage.
final_0027_Layer-22Philip Wadler Programming languages, functional programming, web programming, scripting, session types, A Basis for Concurrency and Distribution (ABCD).


 Modelling, Proof and Concurrency Theory

jcbJulian Bradfield Modal and temporal logics, model-checking, concurrency. bundyAlan Bundy Inductive proof, reasoning about software and hardware, the interaction of representation and reasoning.
final_0040_Layer-9Vincent Danos Scaleable domain specific modeling and programming languages, mostly, but not only, for systems and synthetic biology. final_0037_Layer-12Kousha Etessami Automated verification, model checking, analysis of probabilistic systems, infinite-state systems, algorithmic game theory, computational complexity.
final_0036_Layer-13Jacques Fleuriot Theorem proving, interactive and automatic proofs. final_0035_Layer-14Jane Hillston Formal performance modelling to assess efficient use of resources and timeliness of response in dynamic concurrent systems.
final_0024_Layer-25Paul Jackson Mechanical theorem proving, reactive systems, linear temporal logic. final_0025_Layer-24Elham Kashefi Parallel quantum algorithms and quantum parallelisation techniques, Quantum depth complexity and Circuit optimisation.
final_0029_Layer-20Leonid Libkin Modelling and querying relational, XML, and graph data, data interoperability, incomplete information. final_0010_Layer-39Richard Mayr Automated verification, temporal logic, formal verification of parallel real-time systems.
final_0015_Layer-34Michael Rovatsos Distributed and decentralised intelligent systems, automated decomposition and synthesis of complex workflows, especially in knowledge sharing and social computation applications. Using AI and multiagent systems techniques for managing complex systems infrastructures. final_0007_Layer-42Richard Shillcock Theoretical-cognitive aspects. Universals, dealing with architectures to allow an approach to the issue of completeness in a domain.
final_0004_Layer-49final_0004_Layer-47Alex Simpson Semantic models of computation, type theories and their models, proof theory. final_0006_Layer-43Alan Smaill Constructive logics and non-realist semantics; theorem proving in relation to programming.
 Colin Stirling Models of concurrent computation, modal and temporal logics, verification. final_0030_Layer-19Charles Sutton Probabilistic modeling of large-scale computer systems, approximate inference, statistical processing of natural and programming languages.


 Applications and HPC

boothStephen Booth Performance tuning, random number generators. final_0017_Layer-32Mark Parsons Highly distributed data intensive computing, novel hardware design.
final_0042_Layer-7Mark Bull Parallel algorithms and their efficient implementation; parallel programming models; benchmarking. final_0004_Layer-48Alan Gray Researching the use of GPUs and accelerators in large-scale supercomputers, with emphasis on several scientific areas including condensed matter physics, genetics/genomics and numerical sound synthesis.
final_0039_Layer-10Daniel Holmes Enabling high-performance programming using high-productivity methods; implementation of highly scalable message passing. final_0022_Layer-27Taku Komura Computer graphics and animation, massive character and crowd animation, large-scale geometry / volume processing.
final_0033_Layer-16Gavin Pringle Applications of High Performance Computing in CFD and Astrophysics. final_0011_Layer-38Subramanian Ramamoorthy Learning and decision making in robots and autonomous systems, Decentralized autonomous systems and human-machine interactive systems, Context-awareness in wearable, mobile and sensor network systems.
final_0019_Layer-30Lorna Smith Novel programming models for future HPC architectures. Preparing scientific applications for future exascale platforms. final_0016_Layer-33Michelle Weiland Energy efficient HPC; novel parallel programming models.