Affiliation:
1. The Chinese University of Hong Kong, Hong Kong SAR, China
2. Hong Kong University of Science and Technology, Hong Kong SAR, China
Abstract
Graph database systems (GDBs) have supported many important real-world applications such as social networks, logistics, and path planning. Meanwhile, logic bugs are also prevalent in GDBs, leading to incorrect results and severe consequences. However, the logic bugs largely cannot be revealed by prior solutions which are unaware of the graph native structures of the graph data. In this paper, we propose Gamera (Graph-aware metamorphic relations), a novel metamorphic testing approach to uncover unknown logic bugs in GDBs. We design three classes of novel graph-aware Metamorphic Relations (MRs) based on the graph native structures. Gamera would generate a set of queries according to the graph-aware MRs to test diverse and complex GDB operations, and check whether the GDB query results conform to the chosen MRs.
We thoroughly evaluated the effectiveness of Gamera on seven widely-used GDBs such as Neo4j and OrientDB. Gamera was highly effective in detecting logic bugs in GDBs. In total, it detected 39 logic bugs, of which 15 bugs have been confirmed, and three bugs have been fixed. Our experiments also demonstrated that Gamera significantly outperformed prior solutions including Grand, GD-smith and GDBMeter. Gamera has been well-recognized by GDB developers and we open-source our prototype implementation to contribute to the community.
Publisher
Association for Computing Machinery (ACM)
Reference47 articles.
1. 2015. Count Lines of Code. https://github.com/AlDanial/cloc.
2. 2023. AQL (ArangoDB Query Language). https://www.arangodb.com/docs/stable/aql/.
3. 2023. ArangoDB. https://www.arangodb.com/.
4. 2023. Cypher Manual. https://neo4j.com/docs/cypher-manual/current/introduction/.
5. 2023. DB-Engines Ranking of Graph DBMS. https://db-engines.com/en/ranking/graph+dbms.
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Testing Gremlin-Based Graph Database Systems via Query Disassembling;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. Testing Graph Database Systems with Graph-State Persistence Oracle;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11