SAFLITE: Fuzzing Autonomous Systems via Large Language Models
Taohong Zhu, Adrians Skapars, Fardeen Mackenzie, Declan Kehoe, William Newton, Suzanne Embury, Youcheng Sun
TL;DR
This work tackles the inefficiency of fuzz testing Autonomous Systems by introducing SaFliTe, an LLM-driven predictor that estimates test-case interestingness with respect to predefined safety objectives. It embeds SaFliTe within a universal AS fuzzing framework, enabling seamless integration with existing fuzzing tools and guiding mutations before execution. Empirical results across several LLMs (GPT-3.5, Mistral-7B, Llama-2-7B) and UAV tools (PGFuzz, DeepHyperion-UAV, CAMBA, TUMB) show substantial improvements in discovering safety violations and policy breaches, including a 93.1% per-round increase in bug-relevant test selection and notable gains in test-case generation. The findings demonstrate the practicality of LLM-guided safety reasoning for fuzzing UAVs and suggest that local, smaller LLMs can be effectively employed with proper prompting, with potential for further refinement through task-specific fine-tuning.
Abstract
Fuzz testing effectively uncovers software vulnerabilities; however, it faces challenges with Autonomous Systems (AS) due to their vast search spaces and complex state spaces, which reflect the unpredictability and complexity of real-world environments. This paper presents a universal framework aimed at improving the efficiency of fuzz testing for AS. At its core is SaFliTe, a predictive component that evaluates whether a test case meets predefined safety criteria. By leveraging the large language model (LLM) with information about the test objective and the AS state, SaFliTe assesses the relevance of each test case. We evaluated SaFliTe by instantiating it with various LLMs, including GPT-3.5, Mistral-7B, and Llama2-7B, and integrating it into four fuzz testing tools: PGFuzz, DeepHyperion-UAV, CAMBA, and TUMB. These tools are designed specifically for testing autonomous drone control systems, such as ArduPilot, PX4, and PX4-Avoidance. The experimental results demonstrate that, compared to PGFuzz, SaFliTe increased the likelihood of selecting operations that triggered bug occurrences in each fuzzing iteration by an average of 93.1\%. Additionally, after integrating SaFliTe, the ability of DeepHyperion-UAV, CAMBA, and TUMB to generate test cases that caused system violations increased by 234.5\%, 33.3\%, and 17.8\%, respectively. The benchmark for this evaluation was sourced from a UAV Testing Competition.
