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.
Being capable of identifying significant safety shortcomings, search-based methods are a core tool for testing automated driving system (ADS) technologies. In this domain, Frenetic has proven to be a popular and very effective tool, searching and identifying diverse sets of roads that point out potentially faulty ADS behaviour. This paper presents Frenetic-lib, a Python library that captures Frenetic’s novel combination of road representation and genetic algorithm, and makes it generally available in a customisable way. Next to the capacity to integrate additional ADS simulators, Frenetic-lib further creates new research opportunities on search-based road testing, novel road representations and mutation operators.
@article{Klikovits:freneticlib:2023,title={{Frenetic-lib: An Extensible Framework for Search-Based Generation of Road Structures for {ADS} Testing}},journal={Science of Computer Programming},volume={230},pages={102996},date={2023-07},year={2023},month=jul,issn={0167-6423},doi={10.1016/j.scico.2023.102996},url={https://www.sciencedirect.com/science/article/pii/S0167642323000783},author={Klikovits, Stefan and Castellano, Ezequiel and Cetinkaya, Ahmet and Arcaini, Paolo},}
Parameter Coverage for Testing of Autonomous Driving Systems under Uncertainty
Thomas Laurent, Stefan Klikovits, Paolo Arcaini, Fuyuki Ishikawa, and Anthony Ventresque
ACM Transactions on Software Engineering Methodology (TOSEM), Apr 2023
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},}
Frenetic at the SBST 2021 Tool Competition
Ezequiel Castellano, Ahmet Cetinkaya, Cédric Ho Thanh, Stefan Klikovits, Xiaoyi Zhang, and 1 more author
In 2021 IEEE/ACM 14th International Workshop on Search-Based Software Testing (SBST), May 2021
Frenetic is a genetic approach that leverages a curvature-based road representation. Given an autonomous driving agent, the goal of Frenetic is to generate roads where the agent fails to stay within its lane. In other words, Frenetic tries to minimise the out of bound distance, which is the distance between the car and either edge of the lane if the car is within the lane, and proceeds to negative values once the car drives off. This resembles classic aspects of genetic algorithms such as mutations and crossover, but introduces some nuances aiming at improving diversity of the generated roads.
@inproceedings{Castellano:2021:SBST,author={Castellano, Ezequiel and Cetinkaya, Ahmet and Thanh, Cédric Ho and Klikovits, Stefan and Zhang, Xiaoyi and Arcaini, Paolo},title={Frenetic at the {SBST} 2021 Tool Competition},booktitle={2021 IEEE/ACM 14th International Workshop on Search-Based Software Testing (SBST)},year={2021},month=may,editor={Zhang, Jie and Fredericks, Erik},pages={36-37},publisher={IEEE},doi={10.1109/SBST52555.2021.00016},}