Testing Autonomous Vehicle Software using Situation Generation
Lead Research Organisation:
University of York
Department Name: Computer Science
Abstract
Autonomous vehicles (AVs) must be controlled by software, and such software thus has responsibility for safe vehicle behaviour. It is therefore essential that we rigorously test such software. This is difficult to do for AVs, as they have to respond appropriately to a great diversity of external situations as they go about their missions.
It is possible to find faults in an AV software specification by testing its behaviour in a variety of external situations, either in reality or in computer simulation. Such testing may reveal that the specification ignores certain situations (e.g. negotiating a motorway contraflow lane) or defines behaviour that is unsafe in a subset of situations (e.g. its policy for adapting to icy surfaces leads to unsafe speed control in crowded urban environments).
This project will test the hypothesis that testing based on coverage of possible external situations ("situation coverage") is an effective means of finding AV specification faults. We will test the hypothesis by creating a tool that generates situations for simulated AVs, both randomly and using heuristic search, and assessing whether higher situation coverage correlates with greater success at revealing seeded specification faults. (For the search, the fitness function will be based on the situation coverage achieved)
The project will draw on previous work on test coverage measures, on search-based testing, and on automated scenario generation in training simulations. To assess the effectiveness of the approach, we will use a small but practically-motivated case study of an autonomous ground vehicle, informed by the advice of an advisory panel set up for this project.
It is possible to find faults in an AV software specification by testing its behaviour in a variety of external situations, either in reality or in computer simulation. Such testing may reveal that the specification ignores certain situations (e.g. negotiating a motorway contraflow lane) or defines behaviour that is unsafe in a subset of situations (e.g. its policy for adapting to icy surfaces leads to unsafe speed control in crowded urban environments).
This project will test the hypothesis that testing based on coverage of possible external situations ("situation coverage") is an effective means of finding AV specification faults. We will test the hypothesis by creating a tool that generates situations for simulated AVs, both randomly and using heuristic search, and assessing whether higher situation coverage correlates with greater success at revealing seeded specification faults. (For the search, the fitness function will be based on the situation coverage achieved)
The project will draw on previous work on test coverage measures, on search-based testing, and on automated scenario generation in training simulations. To assess the effectiveness of the approach, we will use a small but practically-motivated case study of an autonomous ground vehicle, informed by the advice of an advisory panel set up for this project.
Planned Impact
The short-term result of the project will be a technique, supported by proof-of-concept tools, for AV testing by means of situation generation. Developers of AVs and AV algorithms will be able to use developments of this technique to get better understanding of the limitations, weaknesses and risks in their technology.
In the medium term, development of this and similar techniques will increase industry's ability to justify the safety of their AV systems, and thus convince UK regulators to allow more adventurous (inherently risky) technologies and systems, thus maintaining our competitive edge. This will have benefits for potential users of AVs, including the military, law enforcement, and many industries.
These techniques will be adaptable to non-vehicle domains, such as service robotics, which will benefit the potential users of such robots - industry, retail and people with physical disabilities.
A broader scientific benefit will be a general insight into the kind of situations that give rise to problems for AV controllers, and also the kinds of specification faults in them that are difficult to find. This will stimulate researchers in AV technologies to resolve these problems, thus helping to advance what is possible.
In the long term, situation coverage could eventually form part of certification criteria for autonomous vehicle control systems (as MC/DC test coverage does for software under the DO-178B standard for avionics). This would allow its use across many industries and domains.
In the medium term, development of this and similar techniques will increase industry's ability to justify the safety of their AV systems, and thus convince UK regulators to allow more adventurous (inherently risky) technologies and systems, thus maintaining our competitive edge. This will have benefits for potential users of AVs, including the military, law enforcement, and many industries.
These techniques will be adaptable to non-vehicle domains, such as service robotics, which will benefit the potential users of such robots - industry, retail and people with physical disabilities.
A broader scientific benefit will be a general insight into the kind of situations that give rise to problems for AV controllers, and also the kinds of specification faults in them that are difficult to find. This will stimulate researchers in AV technologies to resolve these problems, thus helping to advance what is possible.
In the long term, situation coverage could eventually form part of certification criteria for autonomous vehicle control systems (as MC/DC test coverage does for software under the DO-178B standard for avionics). This would allow its use across many industries and domains.
Publications
Alexander, R D
(2015)
Situation coverage - a coverage criterion for testing autonomous robots
Hawkins Heather
(2019)
Situation Coverage Testing for a Simulated Autonomous Car -- an Initial Case Study
in arXiv e-prints
Description | Testing driven by situation coverage probably does not have a significant benefit over random generation for the type of simple, research-grade AR software used in this project It appears likely, however, that it will be valuable when applied to more complex and mature software. |
Exploitation Route | As noted in an earlier box, we conclude that testing driven by situation coverage is most likely to be effective for mature, complex systems-under-test paired with reasonably sophisticated environment (and hence situation) models. Future work applying it in such contexts would be very valuable. We have made source code for the test tool, simulation and AR model available for any other researchers who wish to attempt this. |
Sectors | Aerospace, Defence and Marine,Transport |
Title | Project results data |
Description | This refers to all the data produced as part of the research, along with write-ups of all the experiments conducted. It does not include the simulation and testing software developed. |
Type Of Material | Database/Collection of data |
Year Produced | 2017 |
Provided To Others? | Yes |
Impact | None yet |
URL | http://dx.doi.org/10.15124/1c787c9f-2860-46db-a323-242d8fe9aeb1 |
Title | Simulation engine and testing tools |
Description | This is the simulation engine and testing tools (situation generator) using in the project. |
Type Of Technology | Software |
Year Produced | 2017 |
Open Source License? | Yes |
Impact | None yet. |
URL | http://dx.doi.org/10.15124/1b0286c0-ceaf-4c70-8ec1-7895f090079e |
Description | SGen-SCov Workshop |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Industry/Business |
Results and Impact | Invited a mixture of academic and industry to day-long workshop where we described the results of the project. |
Year(s) Of Engagement Activity | 2015 |