Computer Science at Royal Holloway carries out outstanding work in algorithms and complexity, bioinformatics, distributed and global computing, machine learning, software language engineering and type theory. See below for current research taking place in the Department. Please note that many of the academics have wide-ranging research interests, and that a more accurate view of each person's research can be found by looking at each academic's profile or web page, or the web pages of their research groups or labs. We also encourage you to discuss topics with potential supervisors before applying.
A fuller picture of the departmental research profile can be found on the research database.
See also the Scholarships page for funded PhD opportunities.
Algorithms & Complexity
Dave Cohen works largely on constraint satisfaction problems, as well as other areas of theoretical computer science. He has done much of his research jointly with Professor Peter Jeavons at Oxford University Computer Labs. Their group page can be found here.
Gregory Gutin works on design and analysis of parameterized algorithms which provide an efficient way of solving exactly special cases of many computationally intractable decision and optimisation problems that are of interest in applications. Parameterized algorithmics provides also theoretical foundations of preprocessing. For more information on parameterized algorithmics, see R. Niedermeier's Invitation to Fixed-Parameter Algorithms (Oxford UP, 2006), and more information on Gutin's research can be found here. Examples of PhD research topics include:
- parameterized algorithms for graphs and hypergraphs;
- parameterized algorithmics for constraint satisfaction problems;
- applications of parameterized algorithmics in information security.
Iddo Tzameret works broadly on the Foundations of Computer Science. His primary focus is Computational Complexity studying the fundamental limits of efficient algorithms, namely the understanding of which computational problems can be solved quickly and which problems cannot. His main contributions are to the development of algebraic and logical methods in complexity, most prominently in the are of proof complexity and satisfiability. His works also shed light on contemporary theory and practice of industrial-level SAT-solving. Find out more about his research here.
Magnus Wahlström works on the theory of algorithms, in the area of parameterized algorithms and complexity (see here). He works on all aspects of the field, including algorithm design, kernelization (being the formal study of methods for "preprocessing" or simplifying problem instances efficiently), and issues of complexity, e.g., ways to produce "lower bounds" or limits on the power of efficient algorithms for solving certain problems. Recent particular interests include parameterized complexity aspects of optimisation problems, e.g., integer linear programming; applications of matroid theory, especially so-called linear representations of combinatorial objects; and algebraic algorithms for combinatorial problems. His research can be found here.
Bioinformatics and Medical Applications of Computer Science
Some of our researchers work on applications of CS to biological or medical problems. Some of this work falls into the category of systems biology, developing and applying tools to understand the complex systems of interactions that take place in cells.
Alberto Paccanaro leads a lab that develops novel computational methods for answering biologically motivated questions. He focuses on developing and applying machine learning, statistical modeling and pattern recognition techniques for solving problems in Systems Biology. The lab collaborates very closely with experimental biologists who validate the models and provide useful feedback to improve their predictive power.
Hugh Shanahan works on systems biology, in particular on gene expression in plant biology. He collaborates extensively with biologists in the Biological Sciences department.
Chris Watkins has been conducting a theoretical study of evolution using information theory and computational simulation. He has also developed machine learning techniques that can be applied to sequence data. His current interests include the study of epidemics, in collaboration with the Biological Sciences department. The research group in mathematical biology has web pages available here.
Alex Gammerman and Zhiyuan Luo apply machine learning techniques to a number of medical problems. Current research projects involve the analysis of veterinary data sets, and cancer detection using novel serum biomarkers. A recent paper Reliable Classification of Acute Leukaemia from Gene Expression Data using Confidence Machines won the best paper award at the IEEE International Conference on Granular Computing.
The Computer Learning Research Centre (CLRC) is one of the strongest research groups in the world for research in Machine Learning.
Alex Gammerman works in machine learning theory and applications. His current research interests lies in developing conformal predictors and Bayesian belief networks with applications in biomedicine and anomaly detection. Example PhD topics include:
MRI-based diagnostic and prognostic tools based on conformal predictor -- Recent applications of machine learning to neuroimaging measurements may be valuable for the development of diagnostic and prognostic prediction tools in psychiatry. The project's aim is to develop a general probabilistic method to make accurate diagnostic and estimate corresponding measures of confidence for magnetic resonance imaging (MRI) data.
Application of machine learning techniques to anomaly detection -- The project will focus on the application of new machine learning techniques and apply them to detect anomalous behaviour from observed attributes, assess them using real or synthetic data from appropriate scenarios, and compare them against alternative methods.
Yuri Kalnishkan's research is in prediction with expert advice and its applications to practical prediction, including regression methods, computational finance etc. He is also interested in predictive and Kolmogorov complexity.
Zhiyuan Luo applies Machine learning to a number of application areas including the classification of network traffic, resource allocation in networks as well as biological and medical applications discussed above. Research areas for possible PhD projects include:
- intelligent network resource management based on machine learning;
- machine learning for intrusion detection and network security;
- medical diagnosis based on electronic nose technology;
- reliable analysis of brain activities using EEG;
- learning and prediction for time series data.
Volodya Vovk carries out research in several areas of machine learning including conformal prediction (designing machine-learning algorithms that complement their predictions with various measures of confidence), Venn prediction (turning state-of-the-art machine-learning algorithms into probability forecasting systems), prediction with expert advice (machine learning avoiding statistical assumptions), and computational finance. Example PhD topics include:
- probability forecasting in machine learning;
- dynamic portfolio selection;
- conformal prediction.
Chris Watkins is well-known worldwide for his seminal work in reinforcement learning, which established the dynamic programming approach known as Q-learning. He was also one of the inventors of string kernels, which show how discrete objects like strings can be embedded in high dimensional spaces. This allowed the standard techniques of machine learning to be applied to sequence data like natural language corpora, and DNA and RNA sequence data.
Distributed and Global Computing
Sara Bernardini’s research is in AI Planning and Intelligent Autonomy. Research topics include:
- Automated planning for temporal and metric domains;
- Planning domain modelling and automatic domain analysis;
- Planning under uncertainty;
- Autonomous systems for real-world applications;
- Autonomous vehicles (e.g. drones, underwater vehicles and ground robots) for surveillance applications, disaster response and space mission operations;
- Wireless sensor and actuator networks.
For more information see here.
Gregory Chockler’s research is broadly in the area of distributed computing and systems spanning both theory and practice. He is particularly interested in real-world problems seeking to uncover deep tradeoffs (such as lower bounds and algorithms) and their implications for the system engineering practices. His current focus is on scalability and robustness in modern large-scale computing and storage infrastructures, such as clouds, large-scale data centres, Internet of Things (IoT) platforms, and multi-core architectures. He is involved in a number of projects tackling various challenges arising in these environments including the following:
- data replication, coding and caching;
- large-scale group communication;
- concurrent data structures and their correctness;
- geo-distributed data storage and processing;
- mining large graph datasets; and
- robust communication topologies for managed network frameworks (SDN and NFV).
He is also involved in a multi-disciplinary research effort with the RHUL Department of Economics seeking to apply economics modelling to mining massive datasets.
For further details, please see here.
José Fiadeiro carries out research in formal approaches to software design, including algebraic development techniques and logics for specification and verification of systems. Research topics include:
- service-oriented modelling;
- interface theories and component algebras;
- dynamic networks of interaction;
- workflow and orchestration languages;
- connector-based software architectures.
Peter Robinson is interested in designing new distributed and parallel algorithms and exploring the theoretical foundations of distributed systems. Research topics include:
- distributed processing of large-scale data;
- algorithms for dynamic communication networks;
- communication-efficient distributed algorithms;
- fault-tolerance in distributed systems.
Kostas Stathis is the principal investigator of the DICE Lab which conducts basic and applied research into autonomous agents and multi-agent systems. Research areas for possible PhD projects include:
- models of autonomous cognition;
- regulated models of interaction, especially using games as a metaphor of agents interacting with their environment;
- integration of machine learning and logic-based agents;
- models of multi-agent decision making;
- programmable multi-agent environments and platforms.
For more information, please visit the DICE Lab pages.
Software Language Engineering
Matthew Hague is interested in the study of automata and logic and their applications in program verification. Topics of study include:
- extensions of pushdown automata;
- automata models of higher-order programs;
- decidable models of concurrent programs;
- logics and automata for the analysis of web programs.
For more information about his work see here.
Adrian Johnston and Elizabeth Scott work in the broad field of Software Language Engineering, with interests ranging from traditional compiler design, through generalised parsing, code generation for customisable architectures, programming language semantics and Domain Specific Language design and implementation. This work is carried out under the auspices of the Centre for Software Language Engineering; you can read more about the tools and theory developed within the centre in the CSLE web pages.
One of our major current activities is the PLanCompS project, a multi-institutional effort to produce pragmatic, reusable formal semantics descriptions for currently popular programming languages in a way which allows both small Domain Specific Languages and new general purpose languages to be developed in a modular way with a sound formal base. We have a developing interest in model based approaches to language development, in which the traditional compiler's intermediate language form is replaced by an instance of a domain model which has a straightforward UML representation. These metamodels roughly correspond to the abstract syntax of a programming language. Both of these activities are underpinned by our expertise in general Context Free parsing. We developed the RNGLR, RIGLR, BRNGLR and GLL along with the ART parser generator tool.
In collaboration with Gregory Gutin, we have developed new optimal ways to find subgraphs of data flow graphs which are candidates for implementation as single-cycle machine instructions in embedded applications. This opens the possibility of composing entirely synthetic 'molten architecture' implementations of conventional von Neumann processors that have completely application specific instruction encodings. Apart from a reduction in area, such processors would provide natural obfustication that would be difficult to reverse engineer.
Examples of PhD research topics include:
- connecting metamodels to concrete syntax via general parsers;
- production quality code generation from Modular Structural Operational Semantics specifications;
- datapath generation and instruction encoding for molten architectures;
- applications of molten architecture to obfustication of smart card-based encryption algorithms;
- approches to ambiguity management in general Context Free Grammars.
Johannes Kinder’s research focuses on assessing and improving the reliability and security of software, in particular with the help of automated tools. His work combines the fields of programming languages, software engineering, and systems security, and PhD topics are available in any of these domains. His principal interests lie in:
- program analysis, bug finding, and reverse engineering for real-world systems, building on methods such as abstract interpretation and symbolic execution;
- runtime monitoring and instrumentation, program hardening;
- specification and detection of malware.
For more information see here.
Type Theory and Applications
Zhaohui Luo works on type theory, proof assistants and their applications. The web page of the Type Theory and Applications research group can be found here. Example research areas for PhD research include:
- Development of logic and type theory (eg, dependent type theories)
- Computer-assisted reasoning (eg, reasoning about programs/security)
- Computational linguistics (eg, fortmal semantics in modern type theories)
- Advanced programming paradigms (eg, dependently-typed programming)
- Foundations and formalisation of mathematics (eg, univalent foundations)
Students’ training needs are met by a combination of the departmental subject-specific graduate programme and the College's Generic Skills Programme which is based on Vitae’s Researcher Development Framework and offers a varied mix of workshops delivered by both internal experts and external facilitators, as well as a number of online courses.
The College subscribes to the Epigeum ‘Research Skills Master Programme’ which offers 18 on-line courses on diverse topics and is especially valued by students remote from the College. The Generic Skills Programme has separate discipline strands where appropriate, and is supplemented by provision at Faculty level. For research students who intend to make a career in HE we offer the INSTIL programme which develops skills as a university teacher. This course is accredited by the Higher Education Academy. Research students may also attend appropriate masters or undergraduate courses.
Students are expected to attend all departmental research seminars, and there is a separate student organised 'cakes talk' series which allows students to develop their presentational skills. We have a weekly social event to which all students, research assistants and staff are invited. The College provides dedicated social space for graduate students, facilitating inter-departmental links.