ADSDx: Towards Automated Accident Diagnosis for High-level Autonomous Driving Systems
Safety remains the primary obstacle to the widespread deployment of high-level autonomous driving systems (ADS). Therefore, manufacturers are in severe need of techniques to detect and mitigate safety-critical ADS faults. Although various ADS testing techniques have been proposed to identify accident-prone driving scenarios, reliable ADS-oriented accident diagnosis techniques remain scarce. This gap significantly hinders fault confirmation and mitigation. In light of this, we propose ADSDx , an automated tool dedicated to diagnosing safety-critical accidents of high-level ADSs. ADSDx is built on top of the high-fidelity ADS simulation platform. Given a reproducible accident scenario, ADSDx utilizes what-if reasoning to incrementally narrow down the candidate scope of accident-triggering conditions and accident-responsible ADS modules. In our evaluation, ADSDx demonstrated high effectiveness in diagnosing safety-critical accidents of industry-grade ADSs (e.g., Apollo and Autoware), achieving 95.0% precision and 100% recall in identifying accident-triggering driving conditions and 96.3% accuracy in locating faulty ADS modules. Furthermore, we demonstrated that ADSDx can help filter out 87.9% ~ 91.4% of fault-irrelevant messages, which is essential for investigating the in-depth root causes of ADS-involved accidents. Owing to this, we identified 10 code-level root causes of Apollo and Autoware, each of which can be stably exploited to cause collision accidents in diverse driving situations. To date, 6 of them have been confirmed by developers and 1 patch has been merged into the released version of ADS.
Institutions
- Fudan University (CN)
- ShanghaiTech University (CN)
Publication Details
- Journal
- ACM Transactions on Software Engineering and Methodology
- Published
- 2025-12-11
- DOI
- https://doi.org/10.1145/3783993
- Primary Topic
- Autonomous Vehicle Technology and Safety
- Type
- article
- Field-Weighted Citation Impact
- 0.00