Single and Multi-objective Test Cases Prioritization for Self-driving Cars in Virtual Environments

Journal Article (2023)
Authors

Christian Birchler (Zurich University of Applied Science (ZHAW))

Sajad Khatiri (Zurich University of Applied Science (ZHAW))

P. Derakhshanfar (TU Delft - Software Engineering)

Sebastiano Panichella (Zurich University of Applied Science (ZHAW))

A. Panichella (TU Delft - Software Engineering)

Research Group
Software Engineering
Copyright
© 2023 Christian Birchler, Sajad Khatiri, P. Derakhshanfar, Sebastiano Panichella, A. Panichella
To reference this document use:
https://doi.org/10.1145/3533818
More Info
expand_more
Publication Year
2023
Language
English
Copyright
© 2023 Christian Birchler, Sajad Khatiri, P. Derakhshanfar, Sebastiano Panichella, A. Panichella
Research Group
Software Engineering
Issue number
2
Volume number
32
Pages (from-to)
1-30
DOI:
https://doi.org/10.1145/3533818
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Testing with simulation environments helps to identify critical failing scenarios for self-driving cars (SDCs). Simulation-based tests are safer than in-field operational tests and allow detecting software defects before deployment. However, these tests are very expensive and are too many to be run frequently within limited time constraints.In this article, we investigate test case prioritization techniques to increase the ability to detect SDC regression faults with virtual tests earlier. Our approach, called SDC-Prioritizer, prioritizes virtual tests for SDCs according to static features of the roads we designed to be used within the driving scenarios. These features can be collected without running the tests, which means that they do not require past execution results. We introduce two evolutionary approaches to prioritize the test cases using diversity metrics (black-box heuristics) computed on these static features. These two approaches, called SO-SDC-Prioritizer and MO-SDC-Prioritizer, use single-objective and multi-objective genetic algorithms (GA), respectively, to find trade-offs between executing the less expensive tests and the most diverse test cases earlier.Our empirical study conducted in the SDC domain shows that MO-SDC-Prioritizer significantly (P- value <=0.1e-10) improves the ability to detect safety-critical failures at the same level of execution time compared to baselines: random and greedy-based test case orderings. Besides, our study indicates that multi-objective meta-heuristics outperform single-objective approaches when prioritizing simulation-based tests for SDCs.MO-SDC-Prioritizer prioritizes test cases with a large improvement in fault detection while its overhead (up to 0.45% of the test execution cost) is negligible.