  The simulation-based testing of Autonomous Driving Systems (ADSs) has gained
significant attention. However, current approaches often fall short of
accurately assessing ADSs for two reasons: over-reliance on expert knowledge
and the utilization of simplistic evaluation metrics. That leads to
discrepancies between simulated scenarios and naturalistic driving
environments. To address this, we propose the Matrix-Fuzzer, a behavior
tree-based testing framework, to automatically generate realistic
safety-critical test scenarios. Our approach involves the $log2BT$ method,
which abstracts logged road-users' trajectories to behavior sequences.
Furthermore, we vary the properties of behaviors from real-world driving
distributions and then use an adaptive algorithm to explore the input space.
Meanwhile, we design a general evaluation engine that guides the algorithm
toward critical areas, thus reducing the generation of invalid scenarios. Our
approach is demonstrated in our Matrix Simulator. The experimental results show
that: (1) Our $log2BT$ achieves satisfactory trajectory reconstructions. (2)
Our approach is able to find the most types of safety-critical scenarios, but
only generating around 30% of the total scenarios compared with the baseline
algorithm. Specifically, it improves the ratio of the critical violations to
total scenarios and the ratio of the types to total scenarios by at least 10x
and 5x, respectively, while reducing the ratio of the invalid scenarios to
total scenarios by at least 58% in two case studies.
