Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing
Thu 21 Jul 2022 18:00 - 18:20 at ISSTA 1 - Session 3-7: Test Generation and Mutation E
Graph database systems (GDBs) allow efficiently storing and retrieving graph data, and have become the critical component in many applications, e.g., knowledge graphs, social networks, and fraud detection. It is important to ensure that GDBs operate correctly. Logic bugs can occur and make GDBs return an incorrect result for a given query. These bugs are critical and can easily go unnoticed by developers when the graph and queries become complicated. Despite the importance of GDBs, logic bugs in GDBs have received less attention than those in relational database systems.
In this paper, we present Grand, an approach for automatically finding logic bugs in GDBs that adopt Gremlin as their query language. The core idea of Grand is to construct semantically equivalent databases for multiple GDBs, and then compare the results of a Gremlin query on these databases. If the return results of a query on multiple GDBs are different, the likely cause is a logic bug in these GDBs. To effectively test GDBs, we propose a model-based query generation approach to generate valid Gremlin queries that can potentially return non-empty results, and a data mapping approach to unify the format of query results for different GDBs. We evaluate Grand on six widely-used GDBs, e.g., Neo4j and HugeGraph. In total, we have found 21 previously-unknown logic bugs in these GDBs. Among them, developers have confirmed 18 bugs, and fixed 7 bugs.
Thu 21 JulDisplayed time zone: Seoul change
08:40 - 09:40 | |||
08:40 20mTalk | Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing Technical Papers Yingying Zheng Institute of Software Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Yicheng Wang Institute of Software Chinese Academy of Sciences, Zheng Qin Institute of Software Chinese Academy of Sciences, Lei Tang Institute of Software Chinese Academy of Sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Dong Wang Institute of software, Chinese academy of sciences, Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI | ||
09:00 20mTalk | RegMiner: Towards Constructing a Large Regression Dataset from Code Evolution History Technical Papers Xuezhi Song Fudan University, Yun Lin National University of Singapore, Siang Hwee Ng National University of Singapore, Yijian Wu Fudan University, Xin Peng Fudan University, Jin Song Dong National University of Singapore, Hong Mei Peking University DOI Pre-print | ||
09:20 20mTalk | Unicorn: Detect Runtime Error in Time-Series Databases With Hybrid Input Synthesis Technical Papers Zhiyong Wu Tsinghua University, China, Jie Liang School of Software, Tsinghua University, Mingzhe Wang Tsinghua University, Chijin Zhou Tsinghua University, Yu Jiang Tsinghua University DOI |
18:00 - 18:40 | |||
18:00 20mTalk | Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing Technical Papers Yingying Zheng Institute of Software Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Yicheng Wang Institute of Software Chinese Academy of Sciences, Zheng Qin Institute of Software Chinese Academy of Sciences, Lei Tang Institute of Software Chinese Academy of Sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Dong Wang Institute of software, Chinese academy of sciences, Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI | ||
18:20 20mTalk | Unicorn: Detect Runtime Error in Time-Series Databases With Hybrid Input Synthesis Technical Papers Zhiyong Wu Tsinghua University, China, Jie Liang School of Software, Tsinghua University, Mingzhe Wang Tsinghua University, Chijin Zhou Tsinghua University, Yu Jiang Tsinghua University DOI |