UpFuzz: Detecting Data Format Incompatibility Bugs during Distributed Storage System Upgrade
Ke Han, P. C. Sruthi, Yayu Wang, Yaoxu Song, Bishal Basak Papan, Junwen Yang, Pedro Fonseca, Yongle Zhang
摘要
Data format incompatibility is a significant cause of cloud incidents during distributed system upgrades, often resulting in severe consequences such as data corruption and service unavailability. A majority of such bugs are only discovered post-release, largely due to the lack of automated testing techniques tailored specifically for the upgrade process. Traditional automated test generation methods face a unique challenge when applied to upgrade testing: the high cost associated with upgrading distributed storage systems due to system initialization. Therefore, the accurate selection of potential failure-inducing tests from the extensive pool of automatically generated tests becomes critical.
In this work, we address this problem by proposing a novel approach to prioritize upgrade tests through analyzing data format properties over transitively persisted states: program states that are persisted to disk, directly or indirectly, through chains of memory copies by the old version, and eventually read by the new version after upgrade. Because data format incompatibility bugs happen due to translation errors of such states across versions, transitively persisted states satisfying unique data format properties related to changed data formats are particularly essential for testing.
We build a likely invariant analysis engine that captures such properties as feedback for seed test selection in UPFUZZ, the automated testing engine for the distributed storage system upgrade procedure. UPFUZZ has detected 15 previously unknown upgrade failures caused by data format incompatibilities in the latest stable versions of Cassandra, HBase, and HDFS; developers have confirmed 8 of them. 7 are triggered exclusively with UPFUZZ's data format analysis. The detected bugs have severe consequences, with 6 crashing the cluster and 4 causing data loss or corruption.
1 To ensure a fair comparison, we implemented UPFUZZ baseline version (with traditional feedback) using state-of-the-art fuzzing techniques, including grammar-aware input mutation [11,82], configuration mutation [85], and stateful fuzzing [23,86]. UPFUZZ has uncovered a total of 38 previously unknown bugs, 18 of which have been confirmed. 1 /* Create a table with a composite key. */ 2 CREATE TABLE t (k1 INT, k2 INT, v1 TEXT, v2 TEXT, 3
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper27
- Coverage-based Greybox Fuzzing as Markov ChainMarcel Böhme, Van-Thuan Pham, Abhik RoychoudhuryCCS 2016 · 被引用 1,026 次
- Angora: Efficient Fuzzing by Principled SearchPeng Chen, Hao ChenS&P 2018 · 被引用 616 次
- QSYM : A Practical Concolic Execution Engine Tailored for Hybrid FuzzingInsu Yun, Sangho Lee, Meng Xu, Yeongjin Jang 等USENIX Security 2018 · 被引用 537 次
- T-Fuzz: Fuzzing by Program TransformationHui Peng, Yan Shoshitaishvili, Mathias PayerS&P 2018 · 被引用 326 次
- kAFL: Hardware-Assisted Feedback Fuzzing for OS KernelsSergej Schumilo, Cornelius Aschermann, Robert Gawlik, Sebastian Schinzel 等USENIX Security 2017 · 被引用 324 次
相关 Paper
- Understanding and Detecting Software Upgrade Failures in Distributed SystemsYongle Zhang, Junwen Yang, Zhuqi Jin, Utsav Sethi 等SOSP 2021 · 被引用 40 次
- Coverage Guided Fault Injection for Cloud SystemsYu Gao, Wensheng Dou, Dong Wang, Wenhan Feng 等ICSE 2023 · 被引用 13 次
- BigFuzz: Efficient Fuzz Testing for Data Analytics Using Framework AbstractionQian Zhang, Jiyuan Wang, Muhammad Ali Gulzar, Rohan Padhye 等ASE 2020 · 被引用 27 次
- ECFuzz: Effective Configuration Fuzzing for Large-Scale SystemsJunqiang Li, Senyi Li, Keyao Li, Falin Luo 等ICSE 2024 · 被引用 12 次
- Co-dependence Aware Fuzzing for Dataflow-Based Big Data AnalyticsAhmad Humayun, Miryung Kim, Muhammad Ali GulzarFSE 2023 · 被引用 2 次
