Efficient mutation analysis of relational database structure using mutant schemata and parallelisation

Wright, Chris J. and Kapfhammer, Gregory M. and McMinn, Phil

Proceedings of the 8th International Workshop on Mutation Analysis, 2013

Abstract

Mutation analysis is an effective way to assess the quality of input values and test oracles. Yet, since this technique requires the generation and execution of many mutants, it often incurs a substantial computational cost. In the context of program mutation, the use of mutant schemata and parallelisation can reduce the costs of mutation analysis. This paper is the first to apply these approaches to the mutation analysis of a relational database schema, arguably one of the most important artefacts in a database application. Using a representative set of case studies that vary in both their purpose and structure, this paper empirically compares an unoptimised method to four database structure mutation techniques that intelligently employ both mutant schemata and parallelisation. The results of the experimental study highlight the performance trade-offs that depend on the type of database management system (DBMS), underscoring the fact that every DBMS does not support all types of efficient mutation analysis. However, the experiments also identify a method that yields a one to ten times reduction in the cost of mutation analysis for relational schemas hosted by both the Postgres and SQLite DBMSs.

Resources

Paper

Presentation

schemaanalyst-team/schemaanalyst

Reference

@inproceedings{Wright2013,
  author = {Wright, Chris J. and Kapfhammer, Gregory M. and McMinn, Phil},
  title = {Efficient mutation analysis of relational database structure using mutant schemata and parallelisation},
  booktitle = {Proceedings of the 8th International Workshop on Mutation Analysis},
  year = {2013},
  tool = {https://github.com/schemaanalyst-team/schemaanalyst},
  presented = {true}
}