Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Pattern Transformation
Graph Database Management Systems (GDBMSs) store data as graphs and have several important use cases, such as social networks and recommendation systems. However, they can be affected by logic bugs, which cause the GDBMSs to compute incorrect results and subsequently affect the applications relying on them. In this work, we propose injective and surjective Graph Pattern Transformation (GPT) to detect logic bugs in GDBMSs. Given a query 𝑄, we derive a mutated query 𝑄′, so that either their result sets are: (i) semantically equivalent; or (ii) variant based on the mutation to be either a subset or superset of each other. When the expected relationship between the results does not hold, a logic bug in the GDBMS is detected. The key insight to mutate 𝑄 is that the graph pattern in graph queries enables systematic query transformations derived from injective and surjective mappings of the directed edge sets between 𝑄 and 𝑄′. We implemented injective and surjective Graph Pattern Transformation (GPT) as a tool called GraphGenie and evaluated it on 6 popular and mature GDBMSs. GraphGenie has found 25 unknown bugs including 16 logic bugs, 3 internal errors, and 6 performance issues, where 12 bugs have been fixed by vendors and 9 confirmed. Our results demonstrate the practicality and effectiveness of GraphGenie in detecting logic bugs in GDBMSs and the potential for improving the reliability of applications relying on these GDBMSs
Thu 18 AprDisplayed time zone: Lisbon change
14:00 - 15:30 | Testing 4Research Track / Journal-first Papers at Grande Auditório Chair(s): Shiva Nejati University of Ottawa | ||
14:00 15mTalk | Concrete Constraint Guided Symbolic Execution Research Track Yue Sun Institute of Information Engineering, CAS, China, Guowei Yang University of Queensland, Shichao Lv College of Cyberspace Security, Chinese Academy of Sciences, Zhi Li Institute of Information Engineering, Chinese Academy of Sciences, China, Limin Sun Institute of Information Engineering, Chinese Academy of Sciences, School of Cyber Security, University of Chinese Academy of Sciences, Pre-print | ||
14:15 15mTalk | Improving Testing Behavior by Gamifying IntelliJ Research Track DOI Pre-print | ||
14:30 15mTalk | SCTrans: Constructing a Large Public Scenario Dataset for Simulation Testing of Autonomous Driving Systems Research Track Jiarun Dai Fudan University, Bufan Gao Fudan University, Mingyuan Luo Fudan University, Zongan Huang Fudan University, Zhongrui Li Fudan University, Yuan Zhang Fudan University, Min Yang Fudan University | ||
14:45 15mTalk | Curiosity-Driven Testing for Sequential Decision-Making Process Research Track Junda He Singapore Management University, Zhou Yang Singapore Management University, Jieke Shi Singapore Management University, Chengran Yang Singapore Management University, Singapore, Kisub Kim Singapore Management University, Singapore, Bowen Xu North Carolina State University, Xin Zhou Singapore Management University, Singapore, David Lo Singapore Management University | ||
15:00 15mTalk | Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Pattern Transformation Research Track Yuancheng Jiang National University of Singapore, Jiahao Liu National University of Singapore, Jinsheng Ba National University of Singapore, Roland H. C. Yap National University of Singapore, Singapore, Zhenkai Liang National University of Singapore, Manuel Rigger National University of Singapore DOI Pre-print | ||
15:15 7mTalk | Testing Causality in Scientific Modelling Software Journal-first Papers Andrew Graham Clark The University of Sheffield, Michael Foster The University of Sheffield, Neil Walkinshaw The University of Sheffield, Robert Hierons The University of Sheffield, Benedikt Prifling Ulm University, Volker Schmidt Ulm University, Robert D. Turner The University of Sheffield | ||
15:22 7mTalk | HybridCISave: A Combined Build and Test Selection Approach in Continuous Integration Journal-first Papers |