Mobile menu icon
Skip to navigation | Skip to main content | Skip to footer
Mobile menu icon Search iconSearch
Search type

Department of Computer Science

Research projects

Find a postgraduate research project in your area of interest by exploring the research projects that we offer in the Department of Computer Science.

We have a broad range of research projects for which we are seeking doctoral students. Browse the list of projects on this page or follow the links below to find information on doctoral training opportunities, or applying for a postgraduate research programme.

Alternatively, if you would like to propose your own project then please include a research project proposal and the name of a possible supervisor with your application.

Available projects


Automatic Detection and Repair of Software Vulnerabilities in Unmanned Aerial Vehicles

Project description

Unmanned aerial vehicles (UAVs) have attracted significant attention due to its emergent importance in a wide range of applications, including military and civil areas. Teal Group's market studies estimate that investments in UAVs will be expanded from $6.4 bi in 2014 to $91 bi in 2024 between military and non-military expenditures. However, only a little amount has been invested in the reliability and security of UAVs. From a technical point of view, UAVs are highly exposed systems, multiply linked, consisting of complex pieces of hardware with high strategic and economic value. The classical UAV control design aims to obtain controllers that tolerate and compensate exogenous perturbations, e.g., wind turbulence and terrain disturbances, but they are unable to ensure the desired performance if a sensor or actuator fault occurs or when the UAV is victim of a cyber-attack. Thus, the main objective of this PhD research is to automatically detect and repair software vulnerabilities in UAVs using fuzzing and symbolic execution techniques. In particular, this PhD research aims to (1) automatically localise faults related to various security vulnerabilities such as buffer overflow, zero-day vulnerabilities and crash reproduction using existing symbolic execution and fuzzing techniques; (2) propose repairs using state-of-the-art program synthesisers, which are built on top of efficient symbolic execution engines, in order to analyse a buggy program against a set of selected tests to infer the specification of the intended system behaviour; and (3) produce patches that can automatically fix bugs related to software vulnerabilities in order to contribute to the vision of self-healing UAV software.

Person specification

For information

Essential

Applicants will be required to evidence the following skills and qualifications.

  • You must be capable of performing at a very high level.
  • You must have a self-driven interest in uncovering and solving unknown problems and be able to work hard and creatively without constant supervision.

Desirable

Applicants will be required to evidence the following skills and qualifications.

  • You will have good time management.
  • You will possess determination (which is often more important than qualifications) although you'll need a good amount of both.

General

Applicants will be required to address the following.

  • Comment on your transcript/predicted degree marks, outlining both strong and weak points.
  • Discuss your final year Undergraduate project work - and if appropriate your MSc project work.
  • How well does your previous study prepare you for undertaking Postgraduate Research?
  • Why do you believe you are suitable for doing Postgraduate Research?