首页> 外文期刊>ACM transactions on software engineering and methodology >The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints
【24h】

The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints

机译:关系数据库模式完整性约束的测试覆盖率标准的有效性

获取原文
获取原文并翻译 | 示例

摘要

Despite industry advice to the contrary, there has been little work that has sought to test that a relational database's schema has correctly specified integrity constraints. These critically important constraints ensure the coherence of data in a database, defending it from manipulations that could violate requirements such as "usernames must be unique" or "the host name cannot be missing or unknown." This article is the first to propose coverage criteria, derived from logic coverage criteria, that establish different levels of testing for the formulation of integrity constraints in a database schema. These range from simple criteria that mandate the testing of successful and unsuccessful INSERT statements into tables to more advanced criteria that test the formulation of complex integrity constraints such as multi-column PRIMARY KEYs and arbitrary CHECK constraints. Due to different vendor interpretations of the structured query language (SQL) specification with regard to how integrity constraints should actually function in practice, our criteria crucially account for the underlying semantics of the database management system (DBMS). After formally defining these coverage criteria and relating them in a subsumption hierarchy, we present two approaches for automatically generating tests that satisfy the criteria. We then describe the results of an empirical study that uses mutation analysis to investigate the fault-finding capability of data generated when our coverage criteria are applied to a wide variety of relational schemas hosted by three well-known and representative DBMSs-HyperSQL, PostgreSQL, and SQLite. In addition to revealing the complementary fault-finding capabilities of the presented criteria, the results show that mutation scores range from as low as just 12% of mutants being killed with the simplest of criteria to 96% with the most advanced.
机译:尽管业界提出了相反的建议,但很少有工作试图测试关系数据库的模式已正确指定了完整性约束。这些极为重要的约束条件确保了数据库中数据的一致性,从而保护了其免受可能违反诸如“用户名必须唯一”或“主机名不能丢失或未知”之类的要求的操纵。本文是第一个提出从逻辑覆盖率标准得出的覆盖率标准的方法,该标准为数据库模式中完整性约束的制定建立了不同级别的测试。这些范围从授权测试成功和不成功的INSERT语句的简单标准到表,再到测试复杂的完整性约束(例如多列PRIMARY KEY和任意CHECK约束)的更高级标准。由于供应商对结构化查询语言(SQL)规范在完整性约束实际上应如何实际起作用方面的不同解释,我们的标准至关重要地说明了数据库管理系统(DBMS)的底层语义。在正式定义了这些覆盖范围标准并将它们关联到包含层次之后,我们提出了两种自动生成满足该条件的测试的方法。然后,我们描述一项实证研究的结果,该研究使用突变分析来调查将覆盖范围的标准应用于由三个著名且有代表性的DBMS-HyperSQL,PostgreSQL,和SQLite。除了揭示所提出标准的互补故障发现能力外,结果还显示,突变评分范围从最简单的标准被杀死的突变体的低至仅12%到最先进的96%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号