Testing Gremlin-Based Graph Database Systems via Query Disassembling
Graph Database Systems (GDBs) support efficiently storing and retrieving graph data, and have become a critical component in many important applications. Many widely-used GDBs utilize the Gremlin query language to create, modify, and retrieve data in graph databases, in which developers can assemble a sequence of Gremlin APIs to perform a complex query. However, incorrect implementations and optimizations of GDBs can introduce logic bugs, which can cause Gremlin queries to return incorrect query results, e.g., omitting vertices in a graph database.
In this paper, we propose Query Di sassembling (QuDi), an effective testing technique to automatically detect logic bugs in Gremlin-based GDBs. Given a Gremlin query Q, QuDi disassembles Q into a sequence of atomic graph traversals TList, which shares the equivalent execution semantics with Q. If the execution results of Q and TList are different, a logic bug is revealed in the target GDB. We evaluate QuDi on six popular GDBs, and have found 25 logic bugs in these GDBs, 10 of which have been confirmed as previously-unknown bugs by GDB developers.
Thu 19 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 14:50 | |||
13:30 20mTalk | Testing Gremlin-Based Graph Database Systems via Query Disassembling Technical Papers Yingying Zheng Institute of Software at Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences, Lei Tang Institute of Software at Chinese Academy of Sciences, Ziyu Cui Institute of Software at Chinese Academy of Sciences, Yu Gao Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jiansen Song Institute of Software at Chinese Academy of Sciences, Liang Xu Jinling Institute of Technology, Jiaxin Zhu Institute of Software at Chinese Academy of Sciences, Wei Wang Institute of Software at Chinese Academy of Sciences, Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Hua Zhong Institute of Software at Chinese Academy of Sciences, Tao Huang Institute of Software at Chinese Academy of Sciences DOI | ||
13:50 20mTalk | SQLess: Dialect-Agnostic SQL Query Simplification Technical Papers Li Lin Xiamen University, Zongyin Hao Xiamen University, Chengpeng Wang Hong Kong University of Science and Technology, Zhuangda Wang Xiamen University, Rongxin Wu Xiamen University, Gang Fan Ant Group DOI | ||
14:10 20mTalk | Testing Graph Database Systems with Graph-State Persistence Oracle Technical Papers Shuang Liu Renmin University of China, Junhao Lan Tianjin University, China, Xiaoning Du Monash University, Jiyuan Li Tianjin University, China, Wei Lu Renmin University of China, China, Jiajun Jiang Tianjin University, Xiaoyong Du Renmin University of China DOI |