# A Survey of Scenario Generation for Automated Vehicle Testing and Validation
## 3 Scenario Generation Methods
### Non-Adaptive Test Scenario Generation Methods
#### 3.1.3 Scenario Library Generation Method  
Another approach to AV testing involves creating a library of test scenarios. A scenario library comprises a diverse collection of traffic scenarios designed to test and evaluate the performance of AV systems. This library includes a wide range of driving conditions, road configurations, traffic behaviors, and weather scenarios, effectively simulating the various situations vehicles may encounter in real-world environments. In [35; 36], a general framework for generating a library of test scenarios under different operational design domains (ODDs), CAV models, and performance metrics was proposed. The test scenario library was defined as a collection of critical scenarios, with criticality assessed using a newly introduced metric called criticality. This metric is calculated as the product of exposure frequency and maneuver challenge. Exposure frequency is estimated using naturalistic driving data (NDD), while maneuver challenge is determined through a surrogate model (SM) of the connected autonomous vehicle (CAV). The core concept of critical scenario identification involves using optimization methods to locate local critical scenarios and subsequently explore related scenarios in the surrounding space. Additionally, the study introduced an auxiliary objective function to guide the search direction and employed a multi-start optimization approach along with a seed-filling technique to comprehensively search for critical scenarios. The study in [37] built upon the works of [35; 36]. The libraries generated in the earlier studies were found to have certain limitations. They may be unable to accommodate certain scenario types, fail to be applicable to specific connected autonomous vehicle (CAV) models, or fall short in evaluating certain performance metrics. High-dimensional or complex dynamic scenarios, such as those involving intricate interactions between multiple vehicles and variable environmental conditions, are particularly challenging due to computational constraints and the curse of dimensionality. Additionally, the framework relies on surrogate models calibrated from naturalistic driving data to represent CAV behavior. While it is generally effective, this approach may fail to capture the unique features of proprietary or specialized CAV systems, limiting its applicability to a broader range of models. Furthermore, while the framework effectively addresses safety and functionality as key performance indicators, it lacks higher-level evaluation metrics such as mobility and ride comfort. Discrepancies between the surrogate model (SM) and the actual CAV could result in suboptimal scenario libraries, reducing its overall effectiveness. In [37], the generated scenario library was optimized to create a customized test scenario library tailored to a specific CAV model through an adaptive process. To address performance discrepancies between the surrogate model (SM) and the CAV, Bayesian optimization techniques and classification-based Gaussian process regression were employed. In addition, the most informative scenarios were selected for testing in each iteration, allowing the SM to be dynamically updated and the custom library to be progressively refined. Ultimately, these customized libraries enable more efficient testing and evaluation of CAVs. In [6], a functional test scenario library generation framework for CAV testing was proposed. This framework consists of static road libraries and dynamic scenarios. The static road library is formed by extracting roads from OpenStreetMap (OSM) [38] and then hierarchically clustering them. Dynamic scenarios are modeled by formulating the test scenario generation problem as a partially observable Markov decision process (POMDP) [39], while incorporating input values from sensors and modeling them using reinforcement learning. When modeling dynamic scenarios, the first requirement is to determine the purpose of the test, because different test purposes require different test scenarios.