Table of Contents
The Powerful and Adaptable Cypher Fuzzer #
Linux kernel source tree
Dinkel is a fuzzer which automatically generates complex and valid Cypher queries. Cypher is a query language for graph databases made by Neo4j and has seen widespread adoption. With dinkel, developers can easily test their Cypher implementations with very little setup necessary.
Dinkel outperforms other state-of-the art fuzzers in the complexity of queries it can generate, as well as the amount of data dependencies it can induce within the queries. This allows dinkel to find many complex, previously unknown bugs.
You can read my paper on dinkel here.
During my Bachelor’s Thesis, I was able to find 53 unique bugs with dinkel over three graph database systems. 33 of these bugs have been fixed and an additional 11 have been confirmed.
I started working on it in February of 2023 and released the 1.0 version in, well, somewhen in 2024 hopefully.