Skip to main navigation Skip to search Skip to main content

Industry practice of coverage-guided enterprise-level DBMS fuzzing

  • Mingzhe Wang
  • , Zhiyong Wu
  • , Xinyi Xu
  • , Jie Liang
  • , Chijin Zhou
  • , Huafeng Zhang
  • , Yu Jiang*
  • *Corresponding author for this work
  • Tsinghua University
  • Huawei Technologies Co., Ltd.

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

As an infrastructure for data persistence and analysis, Database Management Systems (DBMSs) are the cornerstones of modern enterprise software. To improve their correctness, the industry has been applying blackbox fuzzing for decades. Recently, the research community achieved impressive fuzzing gains using coverage guidance. However, due to the complexity and distributed nature of enterprise-level DBMSs, seldom are these researches applied to the industry. In this paper, we apply coverage-guided fuzzing to enterprise-level DBMSs from Huawei and Bloomberg LP. In our practice of testing GaussDB and Comdb2, we found major challenges in all three testing stages. The challenges are collecting precise coverage, optimizing fuzzing performance, and analyzing root causes. In search of a general method to overcome these challenges, we propose Ratel, a coverage-guided fuzzer for enterprise-level DBMSs. With its industry-oriented design, Ratel improves the feedback precision, enhances the robustness of input generation, and performs an online investigation on the root cause of bugs. As a result, Ratel outperformed other fuzzers in terms of coverage and bugs. Compared to industrial black box fuzzers SQLsmith and SQLancer, as well as coverage-guided academic fuzzer Squirrel, Ratel covered 38.38%, 106.14%, 583.05% more basic blocks than the best results of other three fuzzers in GaussDB, PostgreSQL, and Comdb2, respectively. More importantly, Ratel has discovered 32, 42, and 5 unknown bugs in GaussDB, Comdb2, and PostgreSQL.

Original languageEnglish
Title of host publicationProceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering
Subtitle of host publicationSoftware Engineering in Practice, ICSE-SEIP 2021
PublisherIEEE Computer Society
Pages328-337
Number of pages10
ISBN (Electronic)9780738146690
DOIs
StatePublished - May 2021
Externally publishedYes
Event43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021 - Virtual, Online, Spain
Duration: 25 May 202128 May 2021

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021
Country/TerritorySpain
CityVirtual, Online
Period25/05/2128/05/21

Keywords

  • Coverage-guided fuzzing
  • DBMS testing
  • Enterprise DBMS

Fingerprint

Dive into the research topics of 'Industry practice of coverage-guided enterprise-level DBMS fuzzing'. Together they form a unique fingerprint.

Cite this