论文标题

GDSMITH:检测图形数据库引擎中的错误

GDsmith: Detecting Bugs in Graph Database Engines

论文作者

Lin, Wei, Hua, Ziyue, Ren, Luyao, Li, Zongyang, Zhang, Lu, Xie, Tao

论文摘要

图形数据库引擎在大数据时代脱颖而出,因为它们的建模和处理链接数据的效率。非常需要测试图形数据库引擎。但是,随机测试是自动化测试生成的最实用方法,面临着语义有效性,非空结果和行为多样性的挑战,以检测图形数据库引擎中的错误。为了解决这些挑战,在本文中,我们提出了GDSMITH,这是测试图形数据库引擎的第一种黑框方法。它确保每个随机生成的密码查询都可以通过骨架生成和完成满足语义要求。 GDSMITH包括我们通过利用三种类型的结构突变策略来返回非空结果的概率的技术。 GDSMITH还包括我们的技术,以通过在生成新查询时根据其先前频率选择属性键来改善生成的Cypher查询的行为多样性。我们的评估结果表明,GDSMITH对于自动查询生成具有有效性和有效性,并且大大优于基线。 GDSMITH在三个流行的开源图数据库引擎的发布版本上成功地检测了27个以前未知的错误,并从开发人员那里获得了积极的反馈。

Graph database engines stand out in the era of big data for their efficiency of modeling and processing linked data. There is a strong need of testing graph database engines. However, random testing, the most practical way of automated test generation, faces the challenges of semantic validity, non-empty result, and behavior diversity to detect bugs in graph database engines. To address these challenges, in this paper, we propose GDsmith, the first black-box approach for testing graph database engines. It ensures that each randomly generated Cypher query satisfies the semantic requirements via skeleton generation and completion. GDsmith includes our technique to increase the probability of producing Cypher queries that return non-empty results by leveraging three types of structural mutation strategies. GDsmith also includes our technique to improve the behavior diversity of the generated Cypher queries by selecting property keys according to their previous frequencies when generating new queries. Our evaluation results demonstrate that GDsmith is effective and efficient for automated query generation and substantially outperforms the baseline. GDsmith successfully detects 27 previously unknown bugs on the released versions of three popular open-source graph database engines and receive positive feedback from their developers.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源