Search-Based Testing for Autonomous Driving Systems
Project Goal
This project aims to ensure the safety and trustworthiness of Autonomous Driving Systems (ADS) through simulation-based testing. We apply search-based software engineering techniques, particularly multi-objective genetic algorithms and evolutionary approaches, to automatically generate diverse and challenging test scenarios that can effectively identify safety shortcomings in autonomous vehicles. The approach focuses on intelligent scenario generation using novel road representations and coverage criteria to systematically explore the space of possible driving situations.
Concrete Outcomes
Frenetic
A genetic testing tool that leverages a curvature-based road representation to generate challenging test scenarios. Frenetic uses multi-objective optimization to automatically create road geometries that expose lane-keeping failures in ADS. Successfully demonstrated at SBST 2021, 2022 and SBFT 2023 tool competitions.
Frenetic-lib
An extensible Python library that provides the Frenetic approach in a customizable framework. Features integration capabilities for multiple ADS simulators, novel mutation operators, and extensible architecture for custom road representations, enabling both academic research and practical testing workflows.
Parameter Coverage
A novel coverage criterion for testing ADS under uncertainty that focuses on parameters characterizing the ADS decision process. Uses statistical methods to handle simulator non-determinism and identifies which parameters are relevant for specific driving scenarios.
kNN-Averaging
A multi-objective optimization method that handles non-deterministic simulator behaviour using k-nearest neighbours regression on execution history. Produces more robust optimization results while avoiding expensive repeated fitness evaluations without requiring explicit noise models.
Multi-Level ADS Scenarios
A scenario modeling framework that enables interaction at appropriate abstraction levels with seamless traversal between different granularity levels for efficient scenario search, generation, and database organization.
Autonomous Driving Systems (ADSs) are promising, but must show they are secure and trustworthy before adoption. Simulation-based testing is a widely adopted approach, where the ADS is run in a simulated environment over specific scenarios. Coverage criteria specify what needs to be covered to consider the ADS sufficiently tested. However, existing criteria do not guarantee to exercise the different decisions that the ADS can make, which is essential to assess its correctness. ADSs usually compute their decisions using parameterised rule-based systems and cost functions, such as cost components or decision thresholds. In this article, we argue that the parameters characterise the decision process, as their values affect the ADS’s final decisions. Therefore, we propose parameter coverage, a criterion requiring to cover the ADS’s parameters. A scenario covers a parameter if changing its value leads to different simulation results, meaning it is relevant for the driving decisions made in the scenario. Since ADS simulators are slightly uncertain, we employ statistical methods to assess multiple simulation runs for execution difference and coverage. Experiments using the Autonomoose ADS show that the criterion discriminates between different scenarios and that the cost of computing coverage can be managed with suitable heuristics.
@article{10.1145/3550270,author={Laurent, Thomas and Klikovits, Stefan and Arcaini, Paolo and Ishikawa, Fuyuki and Ventresque, Anthony},title={Parameter Coverage for Testing of Autonomous Driving Systems under Uncertainty},year={2023},issue_date={July 2023},publisher={Association for Computing Machinery},address={New York, NY, USA},volume={32},number={3},issn={1049-331X},url={https://doi.org/10.1145/3550270},doi={10.1145/3550270},journal={ACM Transactions on Software Engineering Methodology (TOSEM)},month=apr,articleno={58},numpages={31},}
FreneticV is a search-based testing tool based on an evolutionary approach that generates roads where an automated driving agent possibly fails the lane-keeping task. It uses a curvature-based road representation and, compared to its predecessor Frenetic, considers the validity of the generated roads. In particular, it tries to avoid generating roads with overly sharp turns, detects self-intersecting roads, and can rotate and relocate roads to fit them in a given map.
@inproceedings{Castellano2022FreneticVAT,title={{FreneticV} at the {SBST} 2022 Tool Competition},author={Castellano, Ezequiel and Klikovits, Stefan and Cetinkaya, Ahmet and Arcaini, Paolo},booktitle={2022 IEEE/ACM 15th International Workshop on Search-Based Software Testing (SBST)},year={2022},month=may,pages={47-48},doi={10.1145/3526072.3527532},}
Handling Noise in Search-Based Scenario Generation for Autonomous Driving Systems
This paper presents the first evaluation of k-nearest neighbours-Averaging (kNN-Avg) on a real-world case study. kNN-Avg is a novel technique that tackles the challenges of noisy multi-objective optimisation (MOO). Existing studies suggest the use of repetition to overcome noise. In contrast, kNN-Avg approximates these repetitions and exploits previous executions, thereby avoiding the cost of re-running. We use kNN-Avg for the scenario generation of a real-world autonomous driving system (ADS) and show that it is better than the noisy baseline. Furthermore, we compare it to the repetition-method and outline indicators as to which approach to choose in which situations.
@inproceedings{KlikovitsA2021PRDC,title={Handling Noise in Search-Based Scenario Generation for Autonomous Driving Systems},author={Klikovits, Stefan and Arcaini, Paolo},booktitle={26th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC 2021)},publisher={IEEE},year={2021},month=nov,doi={10.1109/PRDC53464.2021.00011},}
Currently, most existing approaches for the design of Automated Driving Systems (ADS) scenarios focus on the description at one particular abstraction level — typically the most detailed one. This practice often removes information at higher levels, such that this data has to be re-synthesized if needed. As the abstraction granularity should be adapted to the task at hand, however, engineers currently have the choice between re-calculating the needed data or operating on the wrong level of abstraction. For instance, the search in a scenario database for a driving scenario with a map of a given road-shape should abstract over the lane markings, adjacent vegetation, or weather situation. Often though, the general road shape has to be synthesized (e.g. interpolated) from the precise GPS information of road boundaries. This paper outlines our vision for multi-level ADS scenario models that facilitate scenario search, generation, and design. Our concept is based on the common modelling philosophy to interact with scenarios at the most appropriate abstraction level. We identify different abstraction levels of ADS scenarios and suggest a template abstraction hierarchy. Our vision enables seamless traversal to such a most suitable granularity level for any given scenario, search and modelling task. We envision that this approach to ADS scenario modelling will have a lasting impact on the way we store, search, design, and generate ADS scenarios, allowing for a more strategic verification of autonomous vehicles in the long run.
@inproceedings{KlikovitsA2021MPM4CPS,title={On the Need for Multi-Level {ADS} Scenarios},author={Klikovits, Stefan and Arcaini, Paolo},booktitle={3rd International Workshop on Multi-Paradigm Modelling for Cyber-Physical Systems (MPM4CPS'21)},series={MODELS'21},publisher={ACM},year={2021},month=oct,pages={322-326},doi={10.1109/MODELS-C53483.2021.00054},}