一句话:提出 DoppelTest,用遗传算法生成多车交通场景测试,为百度 Apollo 发现 123 个违规并归为 8 类缺陷。
自动驾驶软件(ADS)的安全性备受关注,虚拟仿真测试因高效、安全而被广泛采用,其中搜索式方法可自动寻找关键场景,但系统性地生成能暴露缺陷的测试仍是难题。本文提出 DoppelTest,一种面向 ADS 的测试生成方法,采用遗传算法,通过生成包含多辆自动驾驶车辆并考虑交通信号、停车标志等交通控制要素的场景,来发现暴露缺陷的违规行为。作者在工业级 ADS(百度 Apollo)上进行了广泛评估,高效发现 123 个暴露缺陷的违规,并将其归类为 8 个独特的缺陷类别。
Vehicles controlled by autonomous driving software (ADS) are expected to bring many social and economic benefits, but at the current stage not being broadly used due to concerns with regard to their safety. Virtual tests, where autonomous vehicles are tested in software simulation, are common practices because they are more efficient and safer compared to field operational tests. Specifically, search-based approaches are used to find particularly critical situations. These approaches provide an opportunity to automatically generate tests; however, system-atically producing bug-revealing tests for ADS remains a major challenge. To address this challenge, we introduce DoppelTest, a test generation approach for ADSes that utilizes a genetic algorithm to discover bug-revealing violations by generating scenarios with multiple autonomous vehicles that account for traffic control (e.g., traffic signals and stop signs). Our extensive evaluation shows that DoppelTest can efficiently discover 123 bug-revealing violations for a production-grade ADS (Baidu Apollo) which we then classify into 8 unique bug categories.
@inproceedings{HuaiCANLWCG23,
title = {Doppelgänger Test Generation for Revealing Bugs in Autonomous Driving Software},
author = {Yuqi Huai and Yuntianyi Chen and Sumaya Almanee and Tuan Ngo and Xiang Liao and Ziwen Wan and Qi Alfred Chen and Joshua Garcia},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00216}
}