Thu 20 Jul 2023 14:00 - 14:15 at Amazon Auditorium (Gates G20) - ISSTA 11: Testing 3 Chair(s): Marcelo d'Amorim

Graph Database Management Systems (GDBMSs) store data as graphs and allow the efficient querying of nodes and their relationships. Logic bugs are bugs that cause a GDBMS to return an incorrect result for a given query (e.g., by returning incorrect nodes or relationships). The impact of such bugs can be severe, as they often go unnoticed. The core insight of this paper is that Query Partitioning, a test oracle that has been proposed to test Relational Database Systems, is applicable to testing GDBMSs as well. The core idea of Query Partitioning is that, given a query, multiple queries are derived whose results can be combined to reconstruct the given query’s result. Any discrepancy in the result indicates a logic bug. We have implemented this approach as a practical tool named GDBMeter and evaluated GDBMeter on three popular GDBMSs and found a total of 41 unique, previously unknown bugs. We consider 14 of them to be logic bugs, the others being error or crash bugs. Overall, 27 of the bugs have been fixed, and 35 confirmed. We compared our approach to the state-of-the-art approach to testing GDBMS, which relies on differential testing; we found that it results in a high number of false alarms, while Query Partitioning reported actual logic bugs without any false alarms. Furthermore, despite the previous efforts in testing Neo4j and JanusGraph, we found 13 additional bugs. The developers appreciate our work and plan to integrate GDBMeter into their testing process. We expect that this simple, yet effective approach and the practical tool will be used to test other GDBMSs.

Thu 20 Jul

Displayed time zone: Pacific Time (US & Canada) change

13:30 - 15:00
ISSTA 11: Testing 3Technical Papers at Amazon Auditorium (Gates G20)
Chair(s): Marcelo d'Amorim North Carolina State University
13:30
15m
Talk
Dependency-Aware Metamorphic Testing of Datalog Engines
Technical Papers
Muhammad Numair Mansur Amazon Web Services, Valentin Wüstholz ConsenSys, Maria Christakis TU Wien
DOI
13:45
15m
Talk
GDsmith: Detecting Bugs in Cypher Graph Database Engines
Technical Papers
Ziyue Hua Peking University, Wei Lin Peking University, Luyao Ren Peking University, Zongyang Li Peking University, Lu Zhang Peking University, Wenpin Jiao Peking University, Tao Xie Peking University
DOI
14:00
15m
Talk
Testing Graph Database Engines via Query Partitioning
Technical Papers
Matteo Kamm ETH Zurich, Manuel Rigger National University of Singapore, Chengyu Zhang ETH Zurich, Zhendong Su ETH Zurich
DOI
14:15
15m
Talk
Toward Automated Detecting Unanticipated Price Feed in Smart Contract
Technical Papers
Yifan Mo Sun Yat-sen University, Jiachi Chen Sun Yat-sen University, Yanlin Wang Sun Yat-sen University, Zibin Zheng Sun Yat-sen University
DOI
14:30
15m
Talk
Definition and Detection of Defects in NFT Smart Contracts
Technical Papers
Shuo Yang Sun Yat-sen University, Jiachi Chen Sun Yat-sen University, Zibin Zheng Sun Yat-sen University
DOI