软件所在图数据库系统测试方面取得进展

文章来源:  |  发布时间:2022-07-18  |  【打印】 【关闭

  

  近日,软件所软件工程技术研究开发中心团队在图数据库系统测试方法研究方面取得进展。该研究提出了模型驱动的图数据库系统查询生成方法和随机差分测试方法,能够有效的检测图数据库系统中存在的逻辑错误,帮助开发人员定位代码缺陷,为提升图数据库系统自动化测试能力起到重要支撑作用。 

  图数据库系统支持大规模图数据的高效存储和访问,已广泛应用于社交网络、医疗健康、欺诈检测、知识图谱等领域。因此,确保图数据库系统的正确执行非常重要。然而,图数据库系统中存在逻辑错误,会导致用户无法查询到期望的结果,甚至引发严重后果(例如错误的医疗诊断等)。这些逻辑错误很关键且不容易被开发人员发现。 

  针对此问题,团队提出Grand,可以自动发现使用Gremlin查询语言的图数据库系统中逻辑错误。该方法的核心思想是为多个图数据库系统构建语义等价的图数据库,并比较同一查询语句在这些图数据库中的查询结果,如查询结果不一致则意味着存在潜在的逻辑错误。为了高效的测试图数据库系统,团队提出了一个模型驱动的查询生成方法来生成有效的Gremlin查询,以及一个数据映射方法来统一不同图数据库系统的查询结果格式。实验结果表明,该方法在6个流行的图数据库系统中发现了21个逻辑错误,其中18个被确认,7个被修复。 

   相关成果以“Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing”为题被软件工程领域顶级学术会议ISSTA 2022录用。该论文的第一作者为博士生郑莹莹,通讯作者为窦文生  副研究员及王伟研究员。该研究获国家自然科学基金、中国科学院前沿科学项目及中国科学院青年创新促进会等项目支持。