Research Groups


The Algorithms Group focusses on designing and analysing algorithms that solve computational problems efficiently. Group members combine techniques from computer science, discrete mathematics, and probability theory in algorithms research spanning the following areas: Theory of Bio-Inspired Algorithms and Numerical Algorithms.

Complex Systems Modelling

Complex systems modelling is defined by the application of diverse mathematical, statistical and computational techniques, to generate insight into how some of the most complicated physical and natural systems in the world function.

Machine Learning

Machine learning is a diverse subject with many application areas. We are interested in the development of computational algorithms suitable for data-driven models which are applicable in the extraction of useful information from large and complex datasets. Members of the group have specific topics of interests but we also collaborate effectively on problems of common interests which have applications in Speech, Natural Language Processing and Computational Biology.

Natural Language Processing

Natural Language Processing (NLP) is both a modern computational technology and a method of investigating and evaluating claims about human language itself. Our major emphases in research are on the use of coded representations of meaning content, belief and knowledge, on Machine Learning techniques to derive our data from sources like the web, and on the provision of software architectures to underpin NLP research.

Organisations, Information and Knowledge

OAK focuses on knowledge and information management over large scale. The research covers 3 main areas of data capture; how to use this data and how to communicate this information with final users. Applications areas cover a very wide range from aerospace, to smart cities, environment monitoring, bioinformatics, etc.

Security of Advanced Systems

The Security of Advanced Systems Research Group carries out fundamental and applied research in cybersecurity. We draw on expertise in correctness by design and in machine learning and are building wider collaborations with high technology domains (e.g., in robotics, autonomous systems, and advanced manufacturing).

Speech and Hearing

The Speech and Hearing Research Group is concerned with computational modelling of auditory and speech perception in humans and machines; robustness in speech recognition and large vocabulary speech recognition systems and their applications.


The Testing Research Group is one of the largest groups of its kind in the UK developing innovative approaches to software testing and quality assurance. Drawing equally on theory and practice, its research mission is to apply developments from theoretical computer science to practical software engineering solutions for industry. The group investigates a number of areas, including model-based testing, search-based testing, security testing, reverse engineering, model-driven engineering, multi-agent modelling and XML data processing.


Methods for the verification of computer hardware and software are among the great success stories of computer science. They are used for proving in mathematically rigorous ways that programs or hardware components function correctly as specified. Our research on verification ranges from the mathematical and logical foundations of programming to practical verification methods and tool support for these.

Our strengths include unconventional computing; semantics of concurrent and distributed systems; logics, algebras and formal methods for programs and software systems; grammar inference; verified testing methods; verification of multi-core programs and weak memory models; security verification; interactive and automated theorem proving.

Visual Computing

The Visual Computing group includes computer graphics and animation, vision computing, and complex systems simulation allied to rendering and visualisation.