PANGOLIN: a Comprehensive Testing Framework for Configuration-Rich Key-Value Stores
In this paper, we present Pangolin, a comprehensive testing framework for configuration-rich key-value stores. To better understand bugs in modern key-value stores and explore domain knowledge for efficiently identifying new ones, we first comprehensively study historical bugs in five mature key-value stores during the last eight years. Then, we design and implement Pangolin, which is motivated by insights from our bug study, which indicated most bugs could be identified by systematically testing a small sequence of operations and configurations. Specifically, Pangolin practices these insights by introducing a bounded testing strategy into a spectrum of black-box and fuzzing test procedures. Finally, we utilize Pangolin to find 20 bugs and reproduce 443 historical bugs in five mature key-value stores (RocksDB, LevelDB, HyperlevelDB, BadgerDB, and Redis), making it an attractive supplement to handwritten test suites.
Authors
- Andrea C. Arpaci-Dusseau (ORCID: https://orcid.org/0000-0001-8618-2738)
- Remzi H. Arpaci-Dusseau (ORCID: https://orcid.org/0000-0001-9965-7704)
- Sudarsun Kannan (ORCID: https://orcid.org/0000-0003-4009-8586)
- S Duan (ORCID: https://orcid.org/0000-0002-0871-9365)
Institutions
- University of Wisconsin–Madison (US)
- Rutgers Sexual and Reproductive Health and Rights (NL)
- Washington State University (US)
Publication Details
- Published
- 2025-08-28
- DOI
- https://doi.org/10.1145/3757347.3759132
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation