Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APSFuzz

This project is a prototype for APSFuzz. A simulation-based fuzzing tool for automated parking system from our paper "APSFuzz: Simulation-Based Fuzzing Testing for Automated Parking Systems".

Testing environment

Hardware:

  • GPU: NVIDIA GeForce RTX 4090
  • CPU: Intel Xeon Gold 6342 CPU

Software:

  • OS: Ubuntu 20.04
  • APS: Autoware humble-2023.08-prebuilt-cuda-amd64
  • Simulatior: Carla 0.9.13

Environment Setup

Our project is developed based on the following two excellent open-source projects:

For detailed instructions on setting up the co-simulation environment, please refer to the documentation below:

Structure

The project is structured as follows:

APS-FUZZER/
├── carla_interface_gt/                # ground truth of perception
├── detection_gt/                      # ground truth of detection
├── fuzzer_src/ 
    ├── fuzzer.py                      # Main fuzzer script
    |   config/
    |   mutator/                       # Mutator / trajectory recorder
    |           mutator.py
    |           get_ego_trajectory.py
    |           ...
    |   Scenario/                      # Store xosc file
    |   srunner/                       # npc controller
    |   running_monitor.py             # Monitor the running status of the fuzzer
    |   map_convertor/                 # Parking map we use
    |       new_angled_parking_1.osm   # And some format conversion scripts
    |       ...
├── localization_ground_truth/         # ground truth of localization
├── README.md

Get Started

Make sure you have followed the instructions in the Environment Setup section and set up the co-simulation environment.

  1. Clone the repository to $HOME, conda is recommended (Python 3.8.10):

    git clone https://github.com/JSGforever/APS-FUZZER.git
    cd APS-FUZZER/fuzzer_src/
    pip install -r requirements.txt 
  2. Launch up the co-simulation environment following the instructions in the Environment Setup section.

  3. Run the fuzzer:

    python3 fuzzer.py --openscenario {path-to-xosc-file} --strategy {aggressive}
  4. Due to the unstable performance of the simulation env, we strongly recommend running the fuzzer with a monitor. Before running the monitor, please adjust all the parameters in the running_monitor.py file to match your environment. Then, run the monitor:

    python3 running_monitor.py

    The monitor will restart the whole fuzzing process if carla or autoware crashes unexpectedly.

Claim

Due to recent branch updates in the underlying co-simulation environment, users may encounter runtime failures caused by environmental inconsistencies.

We are actively monitoring these changes and will continue to update the APSFUZZ codebase to ensure compatibility and stability in future releases.

About

A repository for APSFuzz - Vehiclesec'25 Short Paper

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages