  The rapid progress of autonomous vehicles~(AVs) has brought the prospect of a
driverless future closer than ever. Recent fatalities, however, have emphasized
the importance of safety validation through large-scale testing. Multiple
approaches achieve this fully automatically using high-fidelity simulators,
i.e., by generating diverse driving scenarios and evaluating autonomous driving
systems~(ADSs) against different test oracles. While effective at finding
violations, these approaches do not identify the decisions and actions that
\emph{caused} them -- information that is critical for improving the safety of
ADSs. To address this challenge, we propose ACAV, an automated framework
designed to conduct causality analysis for AV accident recordings in two
stages. First, we apply feature extraction schemas based on the messages
exchanged between ADS modules, and use a weighted voting method to discard
frames of the recording unrelated to the accident. Second, we use safety
specifications to identify safety-critical frames and deduce causal events by
applying CAT -- our causal analysis tool -- to a station-time graph. We
evaluate ACAV on the Apollo ADS, finding that it can identify five distinct
types of causal events in 93.64% of 110 accident recordings generated by an AV
testing engine. We further evaluated ACAV on 1206 accident recordings collected
from versions of Apollo injected with specific faults, finding that it can
correctly identify causal events in 96.44% of the accidents triggered by
prediction errors, and 85.73% of the accidents triggered by planning errors.
