Don't miss our weekly PhD newsletter | Sign up now Don't miss our weekly PhD newsletter | Sign up now

Search-Based Testing and Debugging for Autonomous Driving Systems in Simulated Environments (Code: COM-03-Shin)

   Department of Computer Science

  ,  Wednesday, January 24, 2024  Competition Funded PhD Project (Students Worldwide)

About the Project

Did you know that more than 1.3 million people die each year as a result of car crashes worldwide? Considering the fact that around 90% of car crashes are due to human errors, we must do something to reduce this tragic figure. Not surprisingly, self-driving cars might be one of the most promising solutions IF we can ensure their safety and reliability. But how?

One promising approach to ensure the safety and reliability of autonomous driving systems (ADS) is to verify them under diverse test driving scenarios and make sure they do not lead to any failures (e.g., colliding with other vehicles or pedestrians). For example, one might generate different test scenarios by changing various driving environmental factors, including static entities (e.g., road shapes, trees, buildings, traffic signs, and side objects) and dynamic entities (e.g., moving vehicles and pedestrians). However, in the real world, the cost and risk of creating these complex test scenarios make sufficient testing infeasible.

To address the limitations of real-world testing, researchers have increasingly studied the use of simulated environments. This has been facilitated by recent advances in 3D graphics and high-fidelity driving simulations. Nevertheless, exhaustively testing all possible driving scenarios would take hundreds if not thousands of years due to the combinations of all the driving environmental factors to consider. Then how can we effectively test and improve the safety and reliability of ADS within a reasonable time?

In this project, we will take a journey to answer the above-mentioned question. As with any research project, there is no predetermined answer for this project. However, we will be given two essential tools that will serve as our compass: search-based software engineering (SBSE) and surrogate-assisted optimisation (SAO).

Specifically, SBSE is a branch of software engineering that uses powerful meta-heuristic search algorithms (e.g., Genetic Algorithm) to solve complex software engineering problems (e.g., automated program repair) that have too many possible solutions to check one by one. It is done by transforming such complex problems into optimisation problems that can be effectively addressed by search algorithms. SAO is an optimisation approach that effectively utilises surrogate models (i.e., simple machine learning models, such as polynomial regression and neural network, that can approximate complex simulation results) instead of computationally intensive driving simulations to reduce the time and cost required for optimisation. By carefully combining SBSE and SAO, we will develop a new testing approach that can consider more complex and realistic driving scenarios that could not be considered in existing research.

In addition to that, we will integrate ADS testing (i.e., finding failure-inducing driving scenarios) and debugging (i.e., localising the root cause of the failures). Due to the lack of debugging capabilities in the existing ADS testing approaches, it becomes very difficult to understand the root cause of ADS failures and improve the safety and reliability of ADS. To address this problem, we will leverage SBSE and SAO again, but develop new algorithms that iteratively generate failure-inducing scenarios and localise the root causes of the failures. The primary challenge lies in achieving effective cooperation between testing and debugging while minimising resources throughout iterative processes.

Interested candidates are strongly encouraged to contact the project supervisor (Primary Supervisor: Dr Donghwan Shin; ) to discuss your interest in and suitability for the project prior to submitting your application.

Please refer to the EPSRC DTP webpage for detailed information about the EPSRC DTP and how to apply.

Candidate requirements

  • Candidates must have achieved a minimum 2:1 undergraduate and/or postgraduate masters’ qualification (MSc) in Computer Science, or a relevant subject, by the start of the PhD. 
  • The English language requirements must also be met by the start of the PhD.
  • Strong software testing knowledge and experience in Python programming are essential.
  • Experience in using high-fidelity driving simulators (e.g., CARLA, LGSVL, and BeamNG) is a plus.

Application link:

Computer Science (8)

Funding Notes

The award will fund the full (UK or Overseas) tuition fee and UKRI stipend (currently £18,622 per annum) for 3.5 years, as well as a research grant to support costs associated with the project.

Register your interest for this project

Search Suggestions
Search suggestions

Based on your current searches we recommend the following search filters.