Published January 28, 2022 | Version v2
Dataset Open

Dataset for Cost-effective Simulation-based Test Selection in Self-driving Cars Software with SDC-Scissor

  • 1. Zurich University of Applied Sciences
  • 2. University of Passau

Description

SDC-Scissor tool for Cost-effective Simulation-based Test Selection in Self-driving Cars Software

This dataset provides test cases for self-driving cars with the BeamNG simulator. Check out the repository and demo video to get started.

GitHub: github.com/ChristianBirchler/sdc-scissor

This project extends the tool competition platform from the Cyber-Phisical Systems Testing Competition which was part of the SBST Workshop in 2021.

Usage

Demo

 YouTube Link

Installation

The tool can either be run with Docker or locally using Poetry.

When running the simulations a working installation of BeamNG.research is required. Additionally, this simulation cannot be run in a Docker container but must run locally.

To install the application use one of the following approaches:

  • Docker: docker build --tag sdc-scissor .
  • Poetry: poetry install

Using the Tool

The tool can be used with the following two commands:

  • Docker: docker run --volume "$(pwd)/results:/out" --rm sdc-scissor [COMMAND] [OPTIONS] (this will write all files written to /out to the local folder results)
  • Poetry: poetry run python sdc-scissor.py [COMMAND] [OPTIONS]

There are multiple commands to use. For simplifying the documentation only the command and their options are described.

  • Generation of tests:
    • generate-tests --out-path /path/to/store/tests
  • Automated labeling of Tests:
    • label-tests --road-scenarios /path/to/tests --result-folder /path/to/store/labeled/tests
    • Note: This only works locally with BeamNG.research installed
  • Model evaluation:
    • evaluate-models --dataset /path/to/train/set --save
  • Split train and test data:
    • split-train-test-data --scenarios /path/to/scenarios --train-dir /path/for/train/data --test-dir /path/for/test/data --train-ratio 0.8
  • Test outcome prediction:
    • predict-tests --scenarios /path/to/scenarios --classifier /path/to/model.joblib
  • Evaluation based on random strategy:
    • evaluate --scenarios /path/to/test/scenarios --classifier /path/to/model.joblib

The possible parameters are always documented with --help.

Linting

The tool is verified the linters flake8 and pylint. These are automatically enabled in Visual Studio Code and can be run manually with the following commands:

poetry run flake8 .
poetry run pylint **/*.py

License

The software we developed is distributed under GNU GPL license. See the LICENSE.md file.

Contacts

Christian Birchler - Zurich University of Applied Science (ZHAW), Switzerland - birc@zhaw.ch

Nicolas Ganz - Zurich University of Applied Science (ZHAW), Switzerland - gann@zhaw.ch

Sajad Khatiri - Zurich University of Applied Science (ZHAW), Switzerland - mazr@zhaw.ch

Dr. Alessio Gambi - Passau University, Germany - alessio.gambi@uni-passau.de

Dr. Sebastiano Panichella - Zurich University of Applied Science (ZHAW), Switzerland - panc@zhaw.ch

References

  • Christian Birchler, Nicolas Ganz, Sajad Khatiri, Alessio Gambi, and Sebastiano Panichella. 2022. Cost-effective Simulation-based Test Selection in Self-driving Cars Software with SDC-Scissor. In 2022 IEEE 29th International Conference on Software Analysis, Evolution and Reengineering (SANER), IEEE.

If you use this tool in your research, please cite the following papers:

@INPROCEEDINGS{Birchler2022,
  author={Birchler, Christian and Ganz, Nicolas and Khatiri, Sajad and Gambi, Alessio, and Panichella, Sebastiano},
  booktitle={2022 IEEE 29th International Conference on Software Analysis, Evolution and Reengineering (SANER), 
  title={Cost-effective Simulationbased Test Selection in Self-driving Cars Software with SDC-Scissor}, 
  year={2022},
}

Notes

ACKNOWLEDGMENTS We gratefully acknowledge the Horizon 2020 (EU Commission) support for the project COSMOS (DevOps for Complex Cyber-physical Systems), Project No. 957254-COSMOS) and the DFG project STUNT (DFG Grant Agreement n. FR 2955/4-1).

Files

data-for-demo.zip

Files (781.8 MB)

Name Size Download all
md5:a14736a9e1ab67c90f3e4774688110c9
88.7 MB Preview Download
md5:05eed8ec40e14d8ee96c5d1bb3dad896
461.5 kB Preview Download
md5:7eca728fe3d15d5674a5cc136ce658d1
215.7 MB Preview Download
md5:96e02031887172d1d81817ef2b5296a7
256.6 MB Preview Download
md5:a93be71ba542d81892539bf1d4a4f689
220.3 MB Preview Download