Testing Storage-System Correctness: Challenges, Fuzzing Limitations, and AI-Augmented Opportunities
Ying Wang, Jiahui Chen, Dejun Jiang
TL;DR
This survey argues that storage-system correctness is fundamentally hard due to nondeterministic interleavings, long-horizon state evolution, and cross-layer semantics. It presents a storage-centric taxonomy of failure modes and reviews a broad spectrum of testing techniques—ranging from scheduling-control and crash-injection to hardware-semantic validation and distributed fault injection—highlighting their strengths and limitations. The paper then scrutinizes fuzzing as an automated testing paradigm, detailing its pipeline, limitations in storage contexts, and the gap between synthetic inputs and semantic correctness. Finally, it discusses AI-augmented opportunities to provide abstraction, temporal reasoning, and adaptive guidance that can complement but not replace automated testing, offering a path toward more semantic-aware storage validation. The work culminates with illustrative appendices and a call for integrating semantic modeling with state-aware fuzzing to better expose latent, long-horizon storage bugs.
Abstract
Storage systems are fundamental to modern computing infrastructures, yet ensuring their correctness remains challenging in practice. Despite decades of research on system testing, many storage-system failures (including durability, ordering, recovery, and consistency violations) remain difficult to expose systematically. This difficulty stems not primarily from insufficient testing tooling, but from intrinsic properties of storage-system execution, including nondeterministic interleavings, long-horizon state evolution, and correctness semantics that span multiple layers and execution phases. This survey adopts a storage-centric view of system testing and organizes existing techniques according to the execution properties and failure mechanisms they target. We review a broad spectrum of approaches, ranging from concurrency testing and long-running workloads to crash-consistency analysis, hardware-level semantic validation, and distributed fault injection, and analyze their fundamental strengths and limitations. Within this framework, we examine fuzzing as an automated testing paradigm, highlighting systematic mismatches between conventional fuzzing assumptions and storage-system semantics, and discuss how recent artificial intelligence advances may complement fuzzing through state-aware and semantic guidance. Overall, this survey provides a unified perspective on storage-system correctness testing and outlines key challenges
