Skip to main content

A cost-effective test selection for self-driving cars in virtual environments

Project description

SDC-Scissor

 ____    ____    ____              ____
/\  _`\ /\  _`\ /\  _`\           /\  _`\           __
\ \,\L\_\ \ \/\ \ \ \/\_\         \ \,\L\_\    ___ /\_\    ____    ____    ___   _ __
 \/_\__ \\ \ \ \ \ \ \/_/_  _______\/_\__ \   /'___\/\ \  /',__\  /',__\  / __`\/\`'__\
   /\ \L\ \ \ \_\ \ \ \L\ \/\______\ /\ \L\ \/\ \__/\ \ \/\__, `\/\__, `\/\ \L\ \ \ \/
   \ `\____\ \____/\ \____/\/______/ \ `\____\ \____\\ \_\/\____/\/\____/\ \____/\ \_\
    \/_____/\/___/  \/___/            \/_____/\/____/ \/_/\/___/  \/___/  \/___/  \/_/

License: GPL v3 Conventional Commits GitHub issues GitHub forks GitHub stars PyPI DOI

A Tool for Cost-effective Simulation-based Test Selection in Self-driving Cars Software

SDC-Scissor is a tool that let you test self-driving cars more efficiently in simulation. It uses a machine-learning approach to select only relevant test scenarios so that the testing process is faster. Furthermore, the selected tests are diverse and try to challenge the car with corner cases.

Furthermore, this repository contains also code for test multi-objective test case prioritization with an evolutionary genetic search algorithm. If you are interested in prioritizing test cases, then you should read the dedicated README.md for this. If you use the prioritization technique then also cite the papers from the reference section!

Support

We use GitHub Discussions as a community platform. You can ask questions and get support there from the community. Furthermore, new features and releases will be discussed and announced there.

Documentation

For the documentation follow the link: sdc-scissor.readthedocs.io

License

SDC-Scissor tool for cost-effective simulation-based test selection
in self-driving cars software.
Copyright (C) 2022  Christian Birchler

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

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

References

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

  • Christian Birchler, Cyrill Rohrbach, Hyeongkyun Kim, Alessio Gambi, Tianhai Liu, Jens Horneber, Timo Kehrer, Sebastiano Panichella, "TEASER: Simulation-based CAN Bus Regression Testing for Self-driving Cars Software," In 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2023, DOI: to appear.
@article{Birchler2023Teaser,
author = {Christian Birchler and Cyrill Rohrbach and Hyeongkyun Kim and Alessio Gambi and Tianhai Liu and Jens Horneber and Timo Kehrer and Sebastiano Panichella},
title = {{TEASER}: Simulation-based CAN Bus Regression Testing for Self-driving Cars Software},
booktitle = {{IEEE/ACM} International Conference on Automated Software Engineering},
year = {2023},
eprint = {2307.03279},
doi = {10.48550/arXiv.2307.03279},
}
  • Christian Birchler, Nicolas Ganz, Sajad Khatiri, Alessio Gambi, and Sebastiano Panichella, "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), pp. 164-168, DOI: 10.1109/SANER53432.2022.00030.
@inproceedings{Birchler2022Cost1,
  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},
  doi={10.1109/SANER53432.2022.00030}
}
  • Christian Birchler, Nicolas Ganz, Sajad Khatiri, Alessio Gambi, and Sebastiano Panichella, "Cost-effective Simulation-based Test Selection in Self-driving Cars Software," Science of Computer Programming (SCP), DOI: 10.1016/j.scico.2023.102926, 2023.
@article{Birchler2022Cost2,
  author    = {Christian Birchler and Nicolas Ganz and Sajad Khatiri and Alessio Gambi and Sebastiano Panichella},
  title     = {Cost-effective Simulation-based Test Selection in Self-driving Cars Software},
  journal   = {Science of Computer Programming (SCP)},
  volume    = {226},
  year      = {2023},
  doi       = {10.1016/j.scico.2023.102926},
  pages     = {102926},
  year      = {2023},
  issn      = {0167-6423},
}
  • Christian Birchler, Sajad Khatiri, Bill Bosshard, Alessio Gambi, and Sebastiano Panichella, "Machine Learning-based Test Selection for Simulation-based Testing of Self-driving Cars Software," Empirical Software Engineering (EMSE), DOI: 10.1007/s10664-023-10286-y, 2023.
@article{Birchler2022Machine,
  author    = {Christian Birchler and Sajad Khatiri and Bill Bosshard and Alessio Gambi and Sebastiano Panichella},
  title     = {Machine Learning-based Test Selection for Simulation-based Testing of Self-driving Cars Software},
  journal   = {Empirical Software Engineering (EMSE)},
  year      = {2022},
  doi       = {to appear},
  eprinttype = {arXiv},
  eprint    = {2212.04769}
}
  • Christian Birchler, Sajad Khatiri, Pouria Derakhshanfar, Sebastiano Panichella, and Annibale Panichella, "Single and Multi-objective Test Cases Prioritization for Self-driving Cars in Virtual Environments," ACM Transactions on Software Engineering and Methodology (TOSEM), DOI: 10.1145/3533818, 2023.
@article{Birchler2022Single,
  author={Birchler, Christian and Khatiri, Sajad and Derakhshanfar, Pouria and Panichella, Sebastiano and Panichella, Annibale},
  title={Single and Multi-objective Test Cases Prioritization for Self-driving Cars in Virtual Environments},
  year={2022},
  publisher={Association for Computing Machinery},
  journal={ACM Transactions on Software Engineering and Methodology (TOSEM)},
  doi={10.1145/3533818}
}

Contacts

  • Christian Birchler
    • Zurich University of Applied Sciences (ZHAW), Switzerland - birc@zhaw.ch
  • Nicolas Ganz
    • Zurich University of Applied Sciences (ZHAW), Switzerland - gann@zhaw.ch
  • Sajad Khatiri
    • Zurich University of Applied Sciences (ZHAW), Switzerland - mazr@zhaw.ch
  • Dr. Alessio Gambi
  • Dr. Sebastiano Panichella
    • Zurich University of Applied Sciences (ZHAW), Switzerland - panc@zhaw.ch

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sdc_scissor-2.2.0rc6.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sdc_scissor-2.2.0rc6-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file sdc_scissor-2.2.0rc6.tar.gz.

File metadata

  • Download URL: sdc_scissor-2.2.0rc6.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.13 Linux/6.2.0-1014-azure

File hashes

Hashes for sdc_scissor-2.2.0rc6.tar.gz
Algorithm Hash digest
SHA256 c8ea8cbfbe571dedb44414987ebe993101a74d3d63e1beb704cee8bfbc954596
MD5 bd35bfeb2c9169139969db8039708ebd
BLAKE2b-256 741f2d95c565f7e3547b3bafcce0a3d060a57777c8f303134e71f1c45a1cb322

See more details on using hashes here.

File details

Details for the file sdc_scissor-2.2.0rc6-py3-none-any.whl.

File metadata

  • Download URL: sdc_scissor-2.2.0rc6-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.13 Linux/6.2.0-1014-azure

File hashes

Hashes for sdc_scissor-2.2.0rc6-py3-none-any.whl
Algorithm Hash digest
SHA256 b8cc37fb1d672646945106bcbdfa8eefd25889861253d4e7dc450178bf9b6e07
MD5 eeeff5c37c79b42a86c899230bde0f92
BLAKE2b-256 b1a9ded3f02a17cd0a633a548c0a9e1f0cb080073c8a94eb1d03a3e08855981a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page