Neural Network Guided Evolutionary Fuzzing for Finding Traffic Violations of Autonomous Vehicles
Preprint
Abstract
Self-driving cars and trucks, autonomous vehicles (AVs), should not be accepted by regulatory bodies and the public until they have much higher confidence in their safety and reliability -- which can most practically and convincingly be achieved by testing. But existing testing methods are inadequate for checking the end-to-end behaviors of AV controllers against complex, real-world corner cases involving interactions with multiple independent agents such as pedestrians and human-driven vehicles. While test-driving AVs on streets and highways fails to capture many rare events, existing simulation-based testing methods mainly focus on simple scenarios and do not scale well for complex driving situations that require sophisticated awareness of the surroundings. To address these limitations, we propose a new fuzz testing technique, called AutoFuzz, which can leverage widely-used AV simulators' API grammars to generate semantically and temporally valid complex driving scenarios (sequences of scenes). To efficiently search for traffic violations-inducing scenarios in a large search space, we propose a constrained neural network (NN) evolutionary search method to optimize AutoFuzz. Evaluation of our prototype on one state-of-the-art learning-based controller, two rule-based controllers, and one industrial-grade controller in five scenarios shows that AutoFuzz efficiently finds hundreds of traffic violations in high-fidelity simulation environments. For each scenario, AutoFuzz can find on average 10-39% more unique traffic violations than the best-performing baseline method. Further, fine-tuning the learning-based controller with the traffic violations found by AutoFuzz successfully reduced the traffic violations found in the new version of the AV controller software.Keywords
All Related Versions
This publication has 28 references indexed in Scilit:
- Testing the Safety of Self-driving Vehicles by Simulating Perception and Prediction2020
- Learning to Collide: An Adaptive Safety-Critical Scenarios Generating Method2020
- Evolutionary Grammar-Based Fuzzing2020
- Conflicts of Automated Driving With Conventional Traffic InfrastructureIEEE Access, 2020
- Training Adversarial Agents to Exploit Weaknesses in Deep Control Policies2020
- Pymoo: Multi-Objective Optimization in PythonIEEE Access, 2020
- VerifAI: A Toolkit for the Formal Design and Analysis of Artificial Intelligence-Based Systems2019
- Simulation-Based Testing Framework for Autonomous Driving Development2019
- A fast and elitist multiobjective genetic algorithm: NSGA-IIIEEE Transactions on Evolutionary Computation, 2002
- A Niched-Penalty Approach for Constraint Handling in Genetic Algorithms1999