MingfeiCheng / BehAVExplor

BehAVExplor: Behavior Diversity Guided Testing for Autonomous Driving Systems (ISSTA 2023)
23 stars 5 forks source link

BehAVExplor

This project is the official implementation of paper:

BehAVExplor: Behavior Diversity Guided Testing for Autonomous Driving Systems
Authors: Mingfei Cheng, Yuan Zhou and Xiaofei Xie
Accepted to ISSTA 2023

Method Overview

framework

Settings

Step 1: Config Baidu Apollo (no less than 6.0 version) according to Apollo

Step 2: Clone BehAVExplor Project (BehAVExplor.zip) and unzip it under /apollo in the apollo container

Step 3: Install required Python dependency inside the apollo container

cd /apollo/BehAVExplor
sh prepare.sh

Step 3: Compile BehAVExplor inside the apollo container

cd /apollo
bazel build //BehAVExplor:main

Step 4: Config our custom LGSVL 2021.3 (Download from link)

Step 5: Install default map used by BehAVExplor by unzipping BehavExplor/data/SanFrancisco.zip at /apollo/modules/map/data. Your file structure should look like this

map
|-data
  |-SanFrancisco
    |- base_map.bin
    |- routing_map.bin
    |- ...

Step 6: Start Apollo and CyberRT bridge inside the apollo container via

cd /apollo
bash scripts/bootstrap.sh
bash scripts/bridge

Step 7: Start LGSVL. Run in another terminal (current path is /apollo inside apollo container)

./bazel-bin/BehAVExplor/main --config=/apollo/BehAVExplor/configs/[scenario config yaml file]

Citation

If you use this code and our results for your research, please cite our paper.

@inproceedings{BehAVExplor_ISSTA_2023,
  title={BehAVExplor: Behavior Diversity Guided Testing for Autonomous Driving Systems},
  author={Cheng, Mingfei and Zhou, Yuan and Xie, Xiaofei},
  booktitle={Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA)},
  year={2023}
}