Virtual Mutation Analysis of Relational Database Schemas

Relational databases are a vital component of many modern software applications. Key to the definition of the database schema — which specifies what types of data will be stored in the database and the structure in which the data is to be organized — are integrity constraints. Integrity constraints are conditions that protect and preserve the consistency and validity of data in the database, preventing data values that violate their rules from being admitted into database tables. They encode logic about the application concerned, andlike any other component of a software application, need to be properly tested. Mutation analysis is a technique that has been successfully applied to integrity constraint testing, seeding database schema faults of both omission and commission. Yet, as for traditional mutation analysis for program testing, it is costly to perform, since the test suite under analysis needs to be run against each individual mutant to establish whether or not it exposes the fault. One overhead incurred by database schema mutation is the cost of communicating with the database management system (DBMS). In this paper, we seek to eliminate this cost by performing mutation analysis virtually on a local model of the DBMS, rather than on an actual, running instance hosting a real database. We present an empirical evaluation of our virtual technique revealing that, across all of the studied DBMSs and schemas, the virtual method yields an average time saving of 51% over the baseline.

[1]  Hiroaki Yoshida,et al.  MuVM: Higher Order Mutation Analysis Virtual Machine for C , 2016, 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[2]  Phil McMinn,et al.  The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints , 2015, ACM Trans. Softw. Eng. Methodol..

[3]  Mark Harman,et al.  Transformed Vargha-Delaney Effect Size , 2015, SSBSE.

[4]  Phil McMinn,et al.  The Impact of Equivalent, Redundant and Quasi Mutants on Database Schema Mutation Analysis , 2014, 2014 14th International Conference on Quality Software.

[5]  Reid Holmes,et al.  Coverage is not strongly correlated with test suite effectiveness , 2014, ICSE.

[6]  Phil McMinn,et al.  Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[7]  Phil McMinn,et al.  Efficient Mutation Analysis of Relational Database Structure Using Mutant Schemata and Parallelisation , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[8]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[9]  René Just,et al.  Using conditional mutation to increase the efficiency of mutation analysis , 2011, AST '11.

[10]  Gregory M. Kapfhammer,et al.  A Comprehensive Framework for Testing Database-Centric Software Applications , 2007 .

[11]  Javier Tuya,et al.  Mutating database queries , 2007, Inf. Softw. Technol..

[12]  A. Jefferson Offutt,et al.  Mutation 2000: uniting the orthogonal , 2001 .

[13]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[14]  F. E.,et al.  A Relational Model of Data Large Shared Data Banks , 2000 .