Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Efficient mutation analysis of relational datab...

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

Interested in learning more about this topic? Visit this web site to read the paper: https://www.gregorykapfhammer.com/research/papers/Wright2013/

Gregory Kapfhammer

March 18, 2013
Tweet

More Decks by Gregory Kapfhammer

Other Decks in Research

Transcript

  1. Efficient Mutation Analysis of Relational Database Structure Using Mutant Schemata

    and Parallelisation Chris J. Wright Gregory M. Kapfhammer Phil McMinn Mutation 2013
  2. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Schema
  3. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Schema Tables
  4. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Schema Columns
  5. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Schema Constraints
  6. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Schema How do we know this is correct?
  7. Chris J. Wright - c.wright@dcs.shef.ac.uk DBMS Application Web Server Third

    Party Database Schema Why Test Database Structure?
  8. Chris J. Wright - c.wright@dcs.shef.ac.uk DBMS Application Web Server Third

    Party Database Schema ✗ Why Test Database Structure?
  9. Chris J. Wright - c.wright@dcs.shef.ac.uk DBMS Application Web Server Third

    Party Database Schema ✗ ✗ Why Test Database Structure?
  10. Chris J. Wright - c.wright@dcs.shef.ac.uk DBMS Application Web Server Third

    Party Database Schema ✗ ✗ ✗ Why Test Database Structure?
  11. Chris J. Wright - c.wright@dcs.shef.ac.uk DBMS Application Web Server Third

    Party Database Schema ✗ ✗ ✗ ✗ Why Test Database Structure?
  12. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Insert Statements
  13. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); Database Insert Statements
  14. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); Database Insert Statements
  15. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ Database Insert Statements
  16. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ Database Insert Statements
  17. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); Database Insert Statements
  18. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ Database Insert Statements
  19. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ Database Insert Statements
  20. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); Database Insert Statements
  21. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database Insert Statements
  22. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database Insert Statements
  23. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a');
  24. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a'); ✗
  25. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a'); ✗
  26. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutating the Structure 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, ) 9 REFERENCES T (A, B) 10 ); Y Z
  27. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutating the Structure 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, ) 9 REFERENCES T (A, B) 10 ); Y Z
  28. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutating the Structure 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, ) 9 REFERENCES T (A, B) 10 ); Y Z
  29. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutating the Structure 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, ) 9 REFERENCES T (A, B) 10 ); Y Z
  30. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 );
  31. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 );
  32. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); Database (mutated)
  33. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); Database (mutated) Insert Statements
  34. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); Database (mutated) Insert Statements
  35. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ Database (mutated) Insert Statements
  36. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ Database (mutated) Insert Statements
  37. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); Database (mutated) Insert Statements
  38. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ Database (mutated) Insert Statements
  39. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ Database (mutated) Insert Statements
  40. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); Database (mutated) Insert Statements
  41. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements
  42. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements
  43. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a');
  44. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a'); ✓
  45. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a'); ✓
  46. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a'); ✓ Results are different
  47. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis 1 CREATE TABLE

    T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✓ INSERT INTO T(A, B, C) VALUES('a', 'a', 'a'); ✗ INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'b'); ✓ Database (mutated) Insert Statements INSERT INTO S(X, Y, Z) VALUES('a', 'b', 'a'); ✓ Mutant is killed
  48. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); The Problem? 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 );
  49. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); The Problem? 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 );
  50. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); The Problem? Many mutants to analyse
  51. Chris J. Wright - c.wright@dcs.shef.ac.uk 1 CREATE TABLE T (

    2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); The Problem? A time consuming process
  52. Chris J. Wright - c.wright@dcs.shef.ac.uk The Solution? Parallelisation Mutant Schemata

    Combine mutants into a ‘meta-mutant’ Analyse multiple mutants simultaneously
  53. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata”
  54. Chris J. Wright - c.wright@dcs.shef.ac.uk Original Approach Create structure in

    database Execute insert statements Drop structure from database
  55. Chris J. Wright - c.wright@dcs.shef.ac.uk Original Approach Create structure in

    database Execute insert statements Drop structure from database
  56. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutant Schemata Approach Create structure

    in database Execute insert statements Drop structure from database
  57. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutant Schemata Approach Create structure

    in database Execute insert statements Drop structure from database
  58. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutant Schemata Approach Create structure

    in database Execute insert statements Drop structure from database Reduce time creating/ dropping database
  59. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 );
  60. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES T (A, B) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 );
  61. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 1 CREATE TABLE mutant_2_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 4 ); 5 6 CREATE TABLE mutant_2_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES mutant_2_T (A, B) 10 );
  62. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 );
  63. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 );
  64. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 ); Database (mutated) Insert Statements
  65. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 ); Database (mutated) INSERT INTO S(X, Y, Z) VALUES('a', 'a', 'a'); Insert Statements
  66. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 ); Database (mutated) INSERT INTO mutant_1_S(X, Y, Z) VALUES('a', 'a', 'a'); Insert Statements
  67. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 ); Database (mutated) INSERT INTO mutant_1_S(X, Y, Z) VALUES('a', 'a', 'a'); ✓ Insert Statements
  68. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 ); Database (mutated) INSERT INTO mutant_1_S(X, Y, Z) VALUES('a', 'a', 'a'); ✓ Insert Statements
  69. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata”
  70. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata” Minimal “Minimal Schemata”
  71. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 );
  72. Chris J. Wright - c.wright@dcs.shef.ac.uk Full Schemata Approach 1 CREATE

    TABLE mutant_1_T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE mutant_1_S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 9 REFERENCES mutant_1_T (A, B) 10 ); 11 12 CREATE TABLE mutant_2_T ( 13 A CHAR, B CHAR, C CHAR, 14 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 15 ); 16 17 CREATE TABLE mutant_2_S ( 18 X CHAR, Y CHAR, Z CHAR, 19 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 20 REFERENCES mutant_2_T (A, B) 21 ); Mutated Tables
  73. Chris J. Wright - c.wright@dcs.shef.ac.uk Minimal Schemata Approach 1 CREATE

    TABLE mutant_1_S ( 2 X CHAR, Y CHAR, Z CHAR, 3 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 4 REFERENCES mutant_1_T (A, B) 5 ); 6 7 CREATE TABLE mutant_2_T ( 8 A CHAR, B CHAR, C CHAR, 9 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 10 ); Mutated Tables
  74. Chris J. Wright - c.wright@dcs.shef.ac.uk Minimal Schemata Approach 1 CREATE

    TABLE mutant_1_S ( 2 X CHAR, Y CHAR, Z CHAR, 3 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 4 REFERENCES mutant_1_T (A, B) 5 ); 6 7 CREATE TABLE mutant_2_T ( 8 A CHAR, B CHAR, C CHAR, 9 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 10 );
  75. Chris J. Wright - c.wright@dcs.shef.ac.uk Minimal Schemata Approach 1 CREATE

    TABLE mutant_1_S ( 2 X CHAR, Y CHAR, Z CHAR, 3 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 4 REFERENCES mutant_1_T (A, B) 5 ); 6 7 CREATE TABLE mutant_2_T ( 8 A CHAR, B CHAR, C CHAR, 9 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 10 );
  76. Chris J. Wright - c.wright@dcs.shef.ac.uk Minimal Schemata Approach 1 CREATE

    TABLE mutant_1_S ( 2 X CHAR, Y CHAR, Z CHAR, 3 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 4 REFERENCES mutant_1_T (A, B) 5 ); 6 7 CREATE TABLE mutant_2_T ( 8 A CHAR, B CHAR, C CHAR, 9 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 10 );
  77. Chris J. Wright - c.wright@dcs.shef.ac.uk Minimal Schemata Approach 1 CREATE

    TABLE mutant_1_S ( 2 X CHAR, Y CHAR, Z CHAR, 3 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 4 REFERENCES mutant_1_T (A, B) 5 ); 6 7 CREATE TABLE mutant_2_T ( 8 A CHAR, B CHAR, C CHAR, 9 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 10 ); 1 CREATE TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 );
  78. Chris J. Wright - c.wright@dcs.shef.ac.uk Minimal Schemata Approach 1 CREATE

    TABLE T ( 2 A CHAR, B CHAR, C CHAR, 3 CONSTRAINT UniqueOnColsAandB UNIQUE (A, B) 4 ); 5 6 CREATE TABLE S ( 7 X CHAR, Y CHAR, Z CHAR, 8 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Y) 9 REFERENCES T (A, B) 10 ); 11 12 CREATE TABLE mutant_1_S ( 13 X CHAR, Y CHAR, Z CHAR, 14 CONSTRAINT RefToColsAandB FOREIGN KEY (X, Z) 15 REFERENCES T (A, B) 16 ); 17 18 CREATE TABLE mutant_2_T ( 19 A CHAR, B CHAR, C CHAR, 20 CONSTRAINT UniqueOnColsAandB UNIQUE (A, C) 21 );
  79. Chris J. Wright - c.wright@dcs.shef.ac.uk Create tables once... ...only mutated

    tables... Minimal Schemata Approach ...reduce queries executed
  80. Chris J. Wright - c.wright@dcs.shef.ac.uk Create tables once... ...only mutated

    tables... Minimal Schemata Approach ...reduce queries executed Plus one copy for foreign keys
  81. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata” Minimal “Minimal Schemata”
  82. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata” Minimal “Minimal Schemata” Up front “Up-Front Schemata”
  83. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutation Analysis Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata” Minimal “Minimal Schemata” Up front “Up-Front Schemata” Just in time “Just-in-Time Schemata”
  84. Chris J. Wright - c.wright@dcs.shef.ac.uk Parallelisation ‘Up-Front Schemata’ ‘Just-in-Time Schemata’

    Make the ‘Original’ approach parallel Make the ‘Full Schemata’ approach parallel
  85. Chris J. Wright - c.wright@dcs.shef.ac.uk Original Approach Create structure in

    database Execute insert statements Drop structure from database
  86. Chris J. Wright - c.wright@dcs.shef.ac.uk ‘Just-in-Time’ Approach Create structure in

    database Execute insert statements Drop structure from database Parallel
  87. Chris J. Wright - c.wright@dcs.shef.ac.uk ‘Just-in-Time’ Approach Create structure in

    database Execute insert statements Drop structure from database Parallel
  88. Chris J. Wright - c.wright@dcs.shef.ac.uk Mutant Schemata Approach Create structure

    in database Execute insert statements Drop structure from database
  89. Chris J. Wright - c.wright@dcs.shef.ac.uk ‘Up-Front’ Approach Create structure in

    database Execute insert statements Drop structure from database Parallel
  90. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study Evaluation Metric Mutation

    Time Approaches 5 Case Studies 6 DBMSs 2 Repetitions 30
  91. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study Evaluation Metric Mutation

    Time Approaches 5 Case Studies 6 DBMSs 2 Repetitions 30
  92. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study Evaluation Metric Mutation

    Time Approaches 5 Case Studies 6 DBMSs 2 Repetitions 30
  93. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study Evaluation Metric Mutation

    Time Approaches 5 Case Studies 6 DBMSs 2 Repetitions 30
  94. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study Evaluation Metric Mutation

    Time Approaches 5 Case Studies 6 DBMSs 2 Repetitions 30
  95. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Approaches Mutant Representation

    Parallelisation Strategy Schemata Normal “Original” Full “Full Schemata” Minimal “Minimal Schemata” Up front “Up-Front Schemata” Just in time “Just-in-Time Schemata”
  96. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  97. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  98. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  99. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  100. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  101. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  102. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Tables Columns Primary Keys Foreign Keys Unique Constraints Cloc 2 10 0 0 0 JWhoisServer 6 49 6 0 0 NistDML182 2 32 1 1 0 NistDML183 2 6 0 1 1 RiskIt 13 56 11 10 0 UnixUsage 8 32 7 7 0
  103. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: Case Studies Case

    Study Total Constraints Total Mutants Cloc 0 30 JWhoisServer 50 184 NistDML182 2 66 NistDML183 2 18 RiskIt 36 160 UnixUsage 23 69
  104. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: DBMSs SQLite PostgreSQL

    Client-Server Model Local Client Model Simultaneous Read/Write
  105. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: DBMSs SQLite PostgreSQL

    Client-Server Model Local Client Model Simultaneous Read/Write Locking on Write
  106. Chris J. Wright - c.wright@dcs.shef.ac.uk Empirical Study: DBMSs SQLite PostgreSQL

    Client-Server Model Local Client Model Simultaneous Read/Write Locking on Write Prevents Parallel Approaches
  107. Chris J. Wright - c.wright@dcs.shef.ac.uk Results • Median of repetitions

    • Lower-is-better metric • Split by... ...case study
  108. Chris J. Wright - c.wright@dcs.shef.ac.uk Results • Median of repetitions

    • Lower-is-better metric • Split by... ...case study ...DBMS
  109. Chris J. Wright - c.wright@dcs.shef.ac.uk Results • Median of repetitions

    • Lower-is-better metric • Split by... ...case study ...DBMS • Full details in paper (including statistics)
  110. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 1000 2000 3000 Original

    Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – Cloc Original Full Minimal Up-Front Just-in-Time
  111. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 1000 2000 3000 Original

    Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – Cloc ~3.27s Original Full Minimal Up-Front Just-in-Time
  112. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 1000 2000 3000 Original

    Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – Cloc ~3.27s ~2.08s Original Full Minimal Up-Front Just-in-Time
  113. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 50000 100000 150000 200000

    250000 Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – RiskIt Original Full Minimal Up-Front Just-in-Time
  114. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 50000 100000 150000 200000

    250000 Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – RiskIt ~238s Original Full Minimal Up-Front Just-in-Time
  115. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 50000 100000 150000 200000

    250000 Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – RiskIt ~238s ~225s Original Full Minimal Up-Front Just-in-Time
  116. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 50000 100000 150000 200000

    250000 Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata Up−Front Schemata Just−in−Time Schemata Postgres – RiskIt ~238s ~225s ~23s Original Full Minimal Up-Front Just-in-Time
  117. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Minimal Schemata’

    ‘Full Schemata’ Improvement decreases with larger schemas
  118. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Minimal Schemata’

    ‘Full Schemata’ Improvement decreases with larger schemas Consistently faster, scales very well
  119. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Just-in-Time Schemata’

    ‘Minimal Schemata’ ‘Full Schemata’ Improvement decreases with larger schemas Consistently faster, scales very well
  120. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Just-in-Time Schemata’

    Consistently faster, scales very well ‘Minimal Schemata’ ‘Full Schemata’ Improvement decreases with larger schemas Consistently faster, scales very well
  121. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Up-Front Schemata’

    ‘Just-in-Time Schemata’ Consistently faster, scales very well ‘Minimal Schemata’ ‘Full Schemata’ Improvement decreases with larger schemas Consistently faster, scales very well
  122. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Up-Front Schemata’

    ‘Just-in-Time Schemata’ Consistently faster, scales very well Improvement decreases with larger schemas ‘Minimal Schemata’ ‘Full Schemata’ Improvement decreases with larger schemas Consistently faster, scales very well
  123. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – Postgres ‘Up-Front Schemata’

    ‘Just-in-Time Schemata’ Consistently faster, scales very well Improvement decreases with larger schemas ‘Minimal Schemata’ ‘Full Schemata’ Improvement decreases with larger schemas Consistently faster, scales very well
  124. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 5000 10000 15000 Original

    Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – Cloc Original Full Minimal
  125. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 5000 10000 15000 Original

    Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – Cloc ~18.0s Original Full Minimal
  126. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 5000 10000 15000 Original

    Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – Cloc ~18.0s ~18.7s Original Full Minimal
  127. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 5000 10000 15000 Original

    Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – Cloc ~18.0s ~18.7s ~8.28s Original Full Minimal
  128. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 500000 1000000 1500000 2000000

    Original Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – RiskIt Original Full Minimal
  129. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 500000 1000000 1500000 2000000

    Original Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – RiskIt ~20.2 min Original Full Minimal
  130. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 500000 1000000 1500000 2000000

    Original Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – RiskIt ~20.2 min ~31.8 min Original Full Minimal
  131. Chris J. Wright - c.wright@dcs.shef.ac.uk 0 500000 1000000 1500000 2000000

    Original Full Schemata Minimal Schemata Mutation Analysis Technique Mutation Analysis Time (ms) Original Full Schemata Minimal Schemata SQLite – RiskIt ~20.2 min ~31.8 min ~2.5 min Original Full Minimal
  132. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – SQLite ‘Minimal Schemata’

    ‘Full Schemata’ Increasingly worsened with larger schemas
  133. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – SQLite ‘Minimal Schemata’

    ‘Full Schemata’ Increasingly worsened with larger schemas Consistently faster, scales very well
  134. Chris J. Wright - c.wright@dcs.shef.ac.uk Results – SQLite ‘Minimal Schemata’

    ‘Full Schemata’ Increasingly worsened with larger schemas Consistently faster, scales very well
  135. Chris J. Wright - c.wright@dcs.shef.ac.uk Future Work & Limitations Approaches

    Detailed Timing Case Studies DBMSs Parallel Configurations
  136. Chris J. Wright - c.wright@dcs.shef.ac.uk Future Work & Limitations Test

    Suite Approaches Detailed Timing Case Studies DBMSs Parallel Configurations
  137. Chris J. Wright - c.wright@dcs.shef.ac.uk Test Suite Generation • SchemaAnalyst

    tool • Gregory Kapfhammer • Tuesday 11:00am, Research & Industrial Track
  138. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis
  139. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach...
  140. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach... ...consistently faster than original
  141. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach... ...consistently faster than original ...gives a reduction of up to 10x
  142. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach... ...consistently faster than original ...gives a reduction of up to 10x ...scales very well (for our case studies)
  143. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach... ...consistently faster than original ...gives a reduction of up to 10x ...scales very well (for our case studies) ...doesn’t require parallel DBMS access
  144. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach... ...consistently faster than original ...gives a reduction of up to 10x ...scales very well (for our case studies) ...doesn’t require parallel DBMS access • Website: http://schemaanalyst.org/
  145. Chris J. Wright - c.wright@dcs.shef.ac.uk Conclusions • Mutant Schemata and

    Parallelisation can both reduce the cost of mutation analysis • The ‘Minimal Schemata’ approach... ...consistently faster than original ...gives a reduction of up to 10x ...scales very well (for our case studies) ...doesn’t require parallel DBMS access • Website: http://schemaanalyst.org/