AV-Fuzzer is a scenario fuzzing framework for autonomous vehicles, built on top of the CARLA simulator. It leverages a genetic algorithm to automatically generate diverse and safety-critical driving scenarios by mutating environmental conditions and non-player character (NPC) behaviors.
Automatically evolves test scenarios using configurable parameters:
- Population size
- Number of generations
- Crossover and mutation rates
- Tournament selection size
Enables realistic control and interaction of NPC vehicles and pedestrians in simulation. Supports flexible scenario customization, including:
- Weather and lighting conditions
- NPC vehicle and pedestrian behaviors
- Ego vehicle start and destination locations
- Clone the repository
https://github.com/cclinus/AV-Fuzzer.git cd av-fuzzer/carla_sim/ - Install Python dependencies
pip install -r requirements.txt
- Download and run CARLA (version 0.9.x)
- Download and extract CARLA from the official site.
- Start the CARLA server:
./CarlaUE4.sh (in Linux) .\CarlaUE4.exe (in Windows)
Configuration files are stored in the parameter directory. Key sections:
- spawn.yaml: Defines vehicle start and end points
- weather.yaml: Specifies weather conditions
- ga.yaml: Sets genetic algorithm parameters (pop_size, max_gens, crossover_rate, mutation_rate, tournament_k, diversity_weight
python GA.py- AV-FUZZER: Finding Safety Violations in Autonomous Driving Systems (ISSRE'20)
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.