MarkTechPost@AI 2024年08月23日
This AI Paper from ETH Zurich Introduces DINKEL: A State-Aware Query Generation Framework for Testing GDBMS (Graph Database Management Systems)
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

ETH Zurich研究者提出DINKEL,用于测试GDBMS,可创建复杂查询,提高测试覆盖和bug检测能力。

🎯DINKEL是ETH Zurich研发的GDBMS测试框架,能对图数据库的动态状态进行建模,生成代表实际数据操作的复杂Cypher查询。它在查询生成过程中可连续更新状态信息,确保每个独立查询反映数据库的可能状态和依赖关系。

📋DINKEL基于对图状态的系统建模,根据查询上下文和图模式进行。在生成Cypher查询时,它会逐步构建每个查询,利用当前图的可访问元素信息,并随着查询的发展更新状态信息,确保语法正确性及反映真实场景。

🎉DINKEL在对三个主要开源GDBMS的广泛测试中表现出色,复杂Cypher查询的有效性率达93.43%,在48小时测试中暴露了60个独特bug,其中58个得到确认,51个被开发者修复,比最佳基线测试技术覆盖更多代码。

Graph database management systems (GDBMSs) have become essential in today’s data-driven world, which requires more and more management of complex, highly interconnected data for social networking, recommendation systems, and large language models. Graph systems efficiently store and manipulate graphs to quickly retrieve data for relationship analysis. The reliability of GDBMS will then be crucial for sectors in which data integrity is very important, such as finance and social media.

Despite high diffusion, the intrinsic complexity and dynamic data changes these systems handle are serious problems and hassles in the GDBMS. A bug in these systems could create serious problems, including data corruption and possible security flaws. For instance, these bugs in GDBMS can lead to denial-of-service attacks or information disclosure that will be disastrous in high-assurance applications. As both the systems and the nature of the queries they process are very complex, their detection and resolution are quite challenging; hence, these bugs might pose a severe reliability and security risk.

State-of-the-art techniques for testing GDBMS generate queries in Cypher, the most widely adopted graph query language. However, these techniques only generate relatively small complexity queries and fully model state changes and data dependencies typical of complex real-world applications. Indeed, state-of-the-art approaches usually cover a small portion of the functionality offered by GDBMSs and fail to detect bugs that may compromise system integrity. These deficiencies underline the need for more sophisticated testing tools capable of accurately modeling complex operations in GDBMS.

That being the case, ETH Zurich researchers have proposed an alternative way of testing GDBMS focusing on state-aware query generation. The team implemented this approach as a fully automatic GDBMS testing framework, DINKEL. This method enables modeling the dynamic states of a graph database to create complex Cypher queries that represent real-life data manipulation in GDBMS. In contrast to traditional techniques, DINKEL permits the continuous update of state information about a graph during the generation of queries, thus guaranteeing that every independent query reflects a database’s possible states and dependencies. Hence, this multi-state change and complex data interaction empower queries to enable the testing of GDBMS with high test coverage and effectiveness.

Another approach by DINKEL is based on the systematic modeling of graph states, divided by query context and graph schema. Query context contains information about the temporary variables declared in the queries; graph schema includes information on current graph labels and properties. On the generation of Cypher queries, DINKEL incrementally constructs every query, drawing on information about the current state of the graph’s accessible elements and updating state information as the query evolves. This state awareness guarantees syntactical correctness but also ensures real-world scenarios are represented by the queries generated from DINKEL, enabling the revelation of bugs that would have flown under the radar.

The results of DINKEL performance are really impressive. His extensive testing on three major open-source GDBMSs—Neo4j, RedisGraph, and Apache AGE—DINKEL showed a brilliant validity rate for complex Cypher queries of 93.43%. In a 48-hour test campaign, DINKEL exposed 60 unique bugs, among which 58 were confirmed, and the developers later fixed 51. By applying this methodology, DINKEL could cover over 60% more code than the best baseline testing techniques, thus demonstrating improved deep bug-exposing ability. Most of these bugs were previously unknown and involved tricky logic or state changes in the GDBMS, underpinning the effectiveness of DINKEL’s state-aware query generation.

The approach by the ETH Zurich team serves a needy cause in testing GDBMS. They have developed a state-aware approach to generating queries for building this tool, drastically improving complex bug detection that hazard reliability and security in graph database systems. Results Their work, materialized through DINKEL, showed remarkable improvements in test coverage and bug detection. This advance is a step ahead in GDBMS robustness assurance; DINKEL is one relevant tool for developers and researchers.


Check out the Paper. All credit for this research goes to the researchers of this project. Also, don’t forget to follow us on Twitter and join our Telegram Channel and LinkedIn Group. If you like our work, you will love our newsletter..

Don’t Forget to join our 49k+ ML SubReddit

Find Upcoming AI Webinars here

The post This AI Paper from ETH Zurich Introduces DINKEL: A State-Aware Query Generation Framework for Testing GDBMS (Graph Database Management Systems) appeared first on MarkTechPost.

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

DINKEL GDBMS测试 图数据库 复杂查询
相关文章