Conformance Testing of Relational DBMS Against SQL Specifications

2024年06月13日
  • 简介
    关系型数据库管理系统(RDBMS)是支持广泛应用的基础软件之一,因此识别其中的漏洞至关重要。已经有很多关于测试RDBMS的研究,其中大部分采用崩溃或使用变形关系作为Oracle。虽然现有方法可以检测到RDBMS中的漏洞,但它们远远无法全面评估RDBMS的正确性(即与SQL语义相关的正确性)。在本文中,我们提出了一种测试RDBMS语义符合性的方法,即其行为是否符合SQL的预期语义。具体而言,我们已经正式定义了SQL的语义并在Prolog中实现了它们。然后,Prolog实现作为参考RDBMS,使得现有的RDBMS可以进行差异测试。我们将我们的方法应用于四种广泛使用和经过充分测试的RDBMS,即MySQL、TiDB、SQLite和DuckDB。总共,我们的方法发现了19个漏洞和11个不一致之处,这些都与违反SQL规范或缺少/不清晰的规范有关,从而证明了我们的方法的有效性和适用性。
  • 作者讲解
  • 图表
  • 解决问题
    测试关系型数据库管理系统(RDBMS)的语义符合性是否符合SQL的预期语义,以发现潜在的错误和不一致性。
  • 关键思路
    使用Prolog实现SQL的语义,将其作为参考RDBMS,对四个广泛使用的RDBMS进行差异测试,发现了19个错误和11个不一致性。
  • 其它亮点
    论文提出了一种测试RDBMS语义符合性的新方法,使用Prolog实现SQL的语义,可以发现现有方法无法发现的错误和不一致性。实验设计详细,使用了四个广泛使用的RDBMS,发现了大量错误和不一致性,表明该方法的有效性和适用性。
  • 相关研究
    最近的相关研究包括使用崩溃测试或使用变形关系作为Oracle的方法来测试RDBMS。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问