Testing Autonomous Driving Systems (ADSs) is a critical task for ensuring the reliability and safety of autonomous vehicles. Existing methods mainly focus on searching for safety violations while the diversity of the generated test cases is ignored, which may generate many redundant test cases and failures. Such redundant failures can reduce testing performance and increase failure analysis costs. In this paper, we present a novel behavior-guided fuzzing technique (BehAVExplor) to explore the different behaviors of the ego vehicle (i.e., the vehicle controlled by the ADS under test) and detect diverse violations. Specifically, we design an efficient unsupervised model, called BehaviorMiner, to characterize the behavior of the ego vehicle. BehaviorMiner extracts the temporal features from the given scenarios and performs a clustering-based abstraction to group behaviors with similar features into abstract states. A new test case will be added to the seed corpus if it triggers new behaviors (e.g., cover new abstract states). Due to the potential conflict between the behavior diversity and the general violation feedback, we further propose an energy mechanism to guide the seed selection and the mutation. The energy of a seed quantifies how good it is. We evaluated BehAVExplor on Apollo, an industrial-level ADS, and LGSVL simulation environment. Empirical evaluation results show that BehAVExplor can effectively find more diverse violations than the state-of-the-art.
翻译:测试自动驾驶系统(ADS)是确保自动驾驶汽车可靠性与安全性的关键任务。现有方法主要关注搜寻安全违规行为,却忽略了生成测试用例的多样性,这可能导致大量冗余测试用例和故障。此类冗余故障会降低测试性能并增加故障分析成本。本文提出一种新颖的行为引导式模糊测试技术(BehAVExplor),旨在探索主车(即受测ADS控制的车辆)的不同行为,并检测多种违规行为。具体而言,我们设计了一个高效的无监督模型BehaviorMiner,用于刻画主车行为。该模型从给定场景中提取时序特征,并执行基于聚类的抽象操作,将具有相似特征的行为归入抽象状态。当新测试用例触发新行为(如覆盖新的抽象状态)时,其将被加入种子语料库。考虑到行为多样性与通用违规反馈之间的潜在冲突,我们进一步提出一种能量机制,用于指导种子选择与变异。种子的能量量化了其优劣程度。我们在工业级ADS平台上对Apollo及LGSVL仿真环境进行了评估。实验结果表明,BehAVExplor能够比现有最优方法更有效地发现多样化的违规行为。