GDsmith: Detecting Bugs in Cypher Graph Database Engines
Graph database engines stand out in the era of big data for their
efficiency of modeling and processing linked data. To assure high quality of graph database engines, it is highly critical to conduct automatic test generation for graph database engines, e.g., random test generation, the most commonly adopted approach in practice. However, random test generation faces the challenge of generating complex inputs (i.e., property graphs and queries) for producing non-empty query results; generating such type of inputs is important especially for detecting wrong-result bugs. To address this challenge, in this paper, we propose GDsmith, the first approach for testing Cypher graph database engines. GDsmith ensures that each randomly generated query satisfies the semantic requirements. To increase the probability of producing complex queries that return non-empty results, GDsmith includes two new techniques: graph-guided generation of complex pattern combinations and data-guided generation of complex conditions. Our evaluation results demonstrate that GDsmith is effective and efficient for producing complex queries that return non-empty results for bug detection, and substantially outperforms the baselines. GDsmith successfully detects 28 bugs on the released versions of three highly popular open-source graph database engines and receives positive feedback from their developers.
Thu 20 JulDisplayed 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 15mTalk | Dependency-Aware Metamorphic Testing of Datalog Engines Technical Papers DOI | ||
13:45 15mTalk | 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 15mTalk | 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 15mTalk | 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 15mTalk | 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 |