179
Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems Gregory M. Kapfhammer 1 & Phil McMinn 2 & Chris J. Wright 2 1 Allegheny College, USA 2 University of Sheffield, UK Sixth IEEE International Conference on Software Testing, Verification and Validation (ICST 2013) Tuesday, March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Embed Size (px)

Citation preview

Page 1: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Search-Based Testing of Relational SchemaIntegrity Constraints Across Multiple

Database Management Systems

Gregory M. Kapfhammer1 & Phil McMinn2 & Chris J. Wright2

1Allegheny College, USA2University of Sheffield, UK

Sixth IEEE International Conference on Software Testing,Verification and Validation (ICST 2013)

Tuesday, March 19, 2013

Page 2: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

RelationalDatabase

ManagementSystems

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 3: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

RelationalDatabase

ManagementSystems

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 4: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

Deployment Locations for Databases

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 5: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

Deployment Locations for Databases

DatabaseApplication

Server

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 6: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

Deployment Locations for Databases

DatabaseApplication

Server

Mobile Phoneor Tablet

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 7: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

Deployment Locations for Databases

DatabaseApplication

Server

Mobile Phoneor Tablet

Office andProductivity

Software

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 8: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

Deployment Locations for Databases

DatabaseApplication

Server

Mobile Phoneor Tablet

Office andProductivity

Software

Government

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 9: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Motivation

Databases Are Everywhere!

Deployment Locations for Databases

DatabaseApplication

Server

Mobile Phoneor Tablet

Office andProductivity

Software

Government Astrophysics

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 10: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 11: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerce

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 12: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 13: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 14: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateSchema

Integrity Constraints

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 15: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateSchema

Integrity Constraints

PRIMARY KEY

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 16: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateSchema

Integrity Constraints

PRIMARY KEY FOREIGN KEY

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 17: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateSchema

Integrity Constraints

PRIMARY KEY FOREIGN KEY Arbitrary CHECK

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 18: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateState

Relational Components

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 19: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateState

Relational Components

Tables

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 20: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateState

Relational Components

Tables Rows

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 21: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema StateState

Relational Components

Tables Rows Columns

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 22: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 23: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

INSERT 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 24: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

INSERT 3

Schema

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 25: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

INSERT 3

Schema State

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 26: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

INSERT 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 27: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

Schema

INSERT 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 28: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working Correctly

Schema

INSERT 7

State

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 29: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 30: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

3INSERT 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 31: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

3INSERT 7

Schema

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 32: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

3INSERT 7

Schema State

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 33: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

7INSERT 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 34: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

7INSERT 3

Schema

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 35: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

7INSERT 3

Schema State

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 36: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

Schema State

SELECT 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 37: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

Schema State

SELECT 3SELECT 3

RESULT 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 38: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Relational Database Schema

Relational DatabaseManagement System

E-commerceSchema State

The Relational Schema is Working CorrectlyThe Relational Schema is Not Working Correctly

Schema State

SELECT 3SELECT 3

RESULT 7

Not working correctly!

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 39: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Need for Relational Schema Testing

The Data Warehouse Institute reports thatNorth American organizations experience a

$611 billion annual loss due to poor data quality

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 40: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Need for Relational Schema Testing

The Data Warehouse Institute reports thatNorth American organizations experience a

$611 billion annual loss due to poor data quality

Scott W. Ambler argues that the “virtualabsence” of database testing — the validation of

the contents, schema, and functionality of thedatabase — is the primary cause of this loss

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 41: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Challenges

Need for Relational Schema Testing

The Data Warehouse Institute reports thatNorth American organizations experience a

$611 billion annual loss due to poor data quality

Scott W. Ambler argues that the “virtualabsence” of database testing — the validation of

the contents, schema, and functionality of thedatabase — is the primary cause of this loss

This paper presents SchemaAnalyst, asearch-based system for testing the complex

integrity constraints in relational schemas

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 42: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 43: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

The highlighted integrity constraints determine what data is valid

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 44: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 45: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 46: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 47: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 48: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 49: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 50: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

The highlighted integrity constraints determine what data is valid

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 51: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Defect: The schema does not contain the correct primary key!

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 52: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Defect: The schema does not contain the correct primary key!

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 53: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Defect: The schema does not contain the correct primary key!

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 54: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Question: What kind of INSERT(s) will reveal this defect?

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 55: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Question: What kind of INSERT(s) will reveal this defect?

INSERT INTO FlightsVALUES(’UA20’, 1, ... ) 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 56: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Question: What kind of INSERT(s) will reveal this defect?

INSERT INTO FlightsVALUES(’UA20’, 1, ... ) 3

INSERT INTO FlightsVALUES(’UA20’, 2, ... ) 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 57: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Question: What kind of INSERT(s) will reveal this defect?

INSERT INTO FlightsVALUES(’UA20’, 1, ... ) 3

INSERT INTO FlightsVALUES(’UA20’, 2, ... ) 7

Explanation: A flight with two different segments is no longer allowed!

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 58: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Defects in Relational Schemas

Question: What kind of INSERT(s) will reveal this defect?

INSERT INTO FlightsVALUES(’UA20’, 1, ... ) 3

INSERT INTO FlightsVALUES(’UA20’, 2, ... ) 7

Explanation: A flight with two different segments is no longer allowed!

SchemaAnalyst automatically generates these INSERTs and this data!

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 59: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Search-Based Testing with SchemaAnalyst

SchemaRepresentation

Generator

Test SuiteGenerator

MutationAnalysis

Test Suites

Mutantsand

Scores

Test suites

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 60: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Search-Based Testing with SchemaAnalyst

SchemaRepresentation

Generator

Test SuiteGenerator

MutationAnalysis

Test Suites

Mutantsand

Scores

Test suites

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 61: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Search-Based Testing with SchemaAnalyst

SchemaRepresentation

Generator

Test SuiteGenerator

MutationAnalysis

Test Suites

Mutantsand

Scores

Test suites

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 62: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Search-Based Testing with SchemaAnalyst

SchemaRepresentation

Generator

Test SuiteGenerator

MutationAnalysis

Test Suites

Mutantsand

Scores

Test suites

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 63: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

Goal of test data generation?

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 64: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

Goal of test data generation?

INSERT INTO T1 VALUES(1, Jan-08-99, ... ) 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 65: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

Goal of test data generation?

INSERT INTO T1 VALUES(1, Jan-08-99, ... ) 3

INSERT INTO T1 VALUES(1, Jan-08-99, ... ) 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 66: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

Goal of test data generation?

INSERT INTO T1 VALUES(1, Jan-08-99, ... ) 3

INSERT INTO T1 VALUES(1, Jan-08-99, ... ) 7

INSERT INTO Tn VALUES(true, ’L-20’, ... ) 3

INSERT INTO Tn VALUES(false, ’L-1’, ... ) 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 67: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 68: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Stage 1: Generate rows of data to satisfy the integrity constraints

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 69: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

Stage 1: Generate rows of data to satisfy the integrity constraints

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 70: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 71: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Stage 2: Generate rows of data to negate a constraint

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 72: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

Stage 2: Generate rows of data to negate a constraint

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 73: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

A fitness function computes a numeric value minimized by search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 74: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Data’s fitness is closer to zero when nearer to a primary key value

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 75: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Types, primary and foreign keys, UNIQUE, NOT NULL, and CHECK

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 76: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Goals and Stages of Test Data Generation

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

See the paper for more details about the computation of fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 77: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 78: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 79: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 80: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use the defaults to form the initial values of the INSERT variables

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 81: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use exploratory moves to determine the correct direction for search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 82: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use exploratory moves to determine the correct direction for search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 83: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use exploratory moves to determine the correct direction for search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 84: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use exploratory moves to determine the correct direction for search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 85: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use exploratory moves to determine the correct direction for search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 86: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use exploratory moves to determine the correct direction for search

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 87: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 88: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 89: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 90: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 91: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 92: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 93: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 94: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitness

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 95: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitnessAVM terminates when the fitness is zero or an exploration cycle fails

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 96: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Test Data Generation

Alternating Variable Method

Vi

Vj

Vk

Use pattern moves to accelerate the improvements in fitnessAVM terminates when the fitness is zero or an exploration cycle failsRestart AVM with random column values when an exploration cycle fails

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 97: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 98: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Use mutation analysis to assess the adequacy of INSERTs and values

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 99: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Primary Keys: Remove, replace, and add column operators

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 100: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Primary Keys: Remove, replace, and add column operators

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 101: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Primary Keys: Remove, replace, and add column operators

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 102: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Primary Keys: Remove, replace, and add column operators

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(ORIGINAL AIRPORT, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 103: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Primary Keys: Remove, replace, and add column operators

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 104: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Primary Keys: Remove, replace, and add column operators

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),

PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER, DEST AIRPORT),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 105: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

UNIQUE: Handle in a fashion similar to the primary key operator

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 106: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

NOT NULL: Reverse the status for all non-primary key columns

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 107: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

NOT NULL: Reverse the status for all non-primary key columns

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 108: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

NOT NULL: Reverse the status for all non-primary key columns

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3) NOT NULL,DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 109: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CHECK: Remove the constraint for each of the checked columns

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 110: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CHECK: Remove the constraint for each of the checked columns

CREATE TABLE Flights(FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,ORIGINAL AIRPORT CHAR(3),DEPART TIME TIME,DEST AIRPORT CHAR(3),ARRIVE TIME TIME,MEAL CHAR(1),PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),CHECK(MEAL IN (’B’, ’L’, ’D’, ’S’))

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 111: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Foreign Keys: Remove each column from the key

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 112: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Foreign Keys: Remove each column from the key

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 113: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Mutation Operators for Schemas

Foreign Keys: Remove each column from the key

CREATE TABLE FlightAvailable (FLIGHT ID CHAR(6) NOT NULL,SEGMENT NUMBER INT NOT NULL,FLIGHT DATE DATE NOT NULL,ECONOMY SEATS TAKEN INT,BUSINESS SEATS TAKEN INT,FIRSTCLASS SEATS TAKEN INT,PRIMARY KEY(FLIGHT ID, SEGMENT NUMBER),FOREIGN KEY(FLIGHT ID, SEGMENT NUMBER)REFERENCES Flights(FLIGHT ID, SEGMENT NUMBER)

);

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 114: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 115: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 116: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 117: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 118: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 119: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 120: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

3Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 121: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

3 7Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 122: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Relational Schema Mutation

Calculating the Mutation Score

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

MD =|K ∪ Q||K ∪ N|

3 77Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 123: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 124: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 125: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 126: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 127: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 128: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 129: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

BankAccount 2 9 0 1 5 2 0 8BookTown 23 69 1 0 17 11 0 29Cloc 2 10 0 0 0 0 0 0CoffeeOrders 5 20 0 4 9 5 0 18CustomerOrder 7 32 1 7 27 7 0 42

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 130: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

DellStore 8 52 0 0 36 0 0 36Employee 1 7 3 0 0 1 0 4Examination 2 21 6 1 0 2 0 9Flights 2 13 1 1 6 2 0 10FrenchTowns 3 14 0 2 13 0 8 23

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 131: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

DellStore 8 52 0 0 36 0 0 36Employee 1 7 3 0 0 1 0 4Examination 2 21 6 1 0 2 0 9Flights 2 13 1 1 6 2 0 10FrenchTowns 3 14 0 2 13 0 8 23

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 132: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Inventory 1 4 0 0 0 1 1 2Iso3166 1 3 0 0 2 1 0 3JWhoisServer 6 49 0 0 44 6 0 50NistDML181 2 7 0 1 0 1 0 2NistDML182 2 32 0 1 0 1 0 2

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 133: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Inventory 1 4 0 0 0 1 1 2Iso3166 1 3 0 0 2 1 0 3JWhoisServer 6 49 0 0 44 6 0 50NistDML181 2 7 0 1 0 1 0 2NistDML182 2 32 0 1 0 1 0 2

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 134: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Inventory 1 4 0 0 0 1 1 2Iso3166 1 3 0 0 2 1 0 3JWhoisServer 6 49 0 0 44 6 0 50NistDML181 2 7 0 1 0 1 0 2NistDML182 2 32 0 1 0 1 0 2

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 135: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

NistDML183 2 6 0 1 0 0 1 2NistWeather 2 9 5 0 2 2 0 9NistXTS748 1 3 1 0 1 0 1 3NistXTS749 2 7 1 1 3 2 0 7Person 1 5 1 0 5 1 0 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 136: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Products 3 9 4 2 5 3 0 14Residence 2 6 3 1 2 2 0 8RiskIt 13 56 0 10 15 11 0 36UnixUsage 8 32 0 7 9 7 0 23Usda 10 67 0 0 30 0 0 30

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 137: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Products 3 9 4 2 5 3 0 14Residence 2 6 3 1 2 2 0 8RiskIt 13 56 0 10 15 11 0 36UnixUsage 8 32 0 7 9 7 0 23Usda 10 67 0 0 30 0 0 30

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 138: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Schema Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Products 3 9 4 2 5 3 0 14Residence 2 6 3 1 2 2 0 8RiskIt 13 56 0 10 15 11 0 36UnixUsage 8 32 0 7 9 7 0 23Usda 10 67 0 0 30 0 0 30

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 139: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Case Study Schemas

Tabl

esC

olum

nsC

heck

sFo

reig

nke

ys

Not

Nul

lsPr

imar

yke

ys

Uni

ques

Tota

l Con

stra

ints

Totals 111 542 27 40 231 68 11 377

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 140: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Data Generation Techniques

DBMonster

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 141: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Data Generation Techniques

DBMonster SchemaAnalyst

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 142: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Data Generation Techniques

DBMonster SchemaAnalyst

HSQLDB 3

SQLite 3

Postgres 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 143: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Data Generation Techniques

DBMonster SchemaAnalyst

HSQLDB 3

SQLite 3

Postgres 3

HSQLDB 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 144: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Data Generation Techniques

DBMonster SchemaAnalyst

HSQLDB 3

SQLite 3

Postgres 3

HSQLDB 7

SQLite 7

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 145: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Configuration

Data Generation Techniques

DBMonster SchemaAnalyst

HSQLDB 3

SQLite 3

Postgres 3

HSQLDB 7

SQLite 7

Postgres 3

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 146: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

Flights 100.0 70.0FrenchTowns 100.0 70.0Inventory 100.0 75.0Iso3166 100.0 50.0JWhoisServer 100.0 50.0

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 147: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

Flights 100.0 70.0FrenchTowns 100.0 70.0Inventory 100.0 75.0Iso3166 100.0 50.0JWhoisServer 100.0 50.0

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 148: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

NistDML181 100.0 75.0NistDML182 100.0 50.0NistDML183 100.0 100.0NistXTS748 100.0 72.2NistXTS749 100.0 21.4

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 149: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

NistDML181 100.0 75.0NistDML182 100.0 50.0NistDML183 100.0 100.0NistXTS748 100.0 72.2NistXTS749 100.0 21.4

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 150: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

NistDML181 100.0 75.0NistDML182 100.0 50.0NistDML183 100.0 100.0NistXTS748 100.0 72.2NistXTS749 100.0 21.4

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 151: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

Residence 100.0 62.5RiskIt 100.0 4.1Products 96.4 59.3UnixUsage 97.8 59.3Usda 100.0 50.0

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 152: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

Residence 100.0 62.5RiskIt 100.0 4.1Products 96.4 59.3UnixUsage 97.8 59.3Usda 100.0 50.0

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 153: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

Residence 100.0 62.5RiskIt 100.0 4.1Products 96.4 59.3UnixUsage 97.8 59.3Usda 100.0 50.0

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 154: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Constraint Coverage Results

Schema AVM (%) DBMonster (%)

Residence 100.0 62.5RiskIt 100.0 4.1Products 96.4 59.3UnixUsage 97.8 59.3Usda 100.0 50.0

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 155: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Quasi-Mutant Results

Number of Mutants

Hsqldb

Postgres

SQLite

0 20 40 60 80 100 120

CustomerOrder

Non−Quasi Quasi

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 156: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Quasi-Mutant Results

Number of Mutants

Hsqldb

Postgres

SQLite

0 50 100 150

JWhoisServer

Non−Quasi Quasi

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 157: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Quasi-Mutant Results

Number of Mutants

Hsqldb

Postgres

SQLite

0 50 100 150

DellStore

Non−Quasi Quasi

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 158: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Summary: Quasi-Mutant Results

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 159: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Summary: Quasi-Mutant Results

None SomeSome

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 160: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Summary: Quasi-Mutant Results

None SomeSome

Few quasi-mutants means that the mutationscores are good effectiveness indicators

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 161: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 162: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

JWhoisServer DBI=62, MD = 0.7DBI=300, MD = 0.2

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 163: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

JWhoisServer DBI=62, MD = 0.7DBI=300, MD = 0.2

NistDML181 DBI=7, MD = 0.6DBI=13,650, MD = 0.5

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 164: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 165: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

DBMonster crashesfor six schemas!

CustomerOrderFlightsNistDML182NistXTS748PersonRiskIt

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 166: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

DBMonster crashesfor six schemas!

CustomerOrderFlightsNistDML182NistXTS748PersonRiskIt

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 167: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

DBMonster crashesfor six schemas!

CustomerOrderFlightsNistDML182NistXTS748PersonRiskIt

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 168: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 169: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 170: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Mutation Score Results

DBMonster SchemaAnalyst

SchemaAnalyst’smutation score ishigher than DB-Monster’s for 96%of the schemas

(0.29, 0.59, 0.65, 0.70, 0.89)

(0.0, 0.11, 0.41, 0.52, 0.68)

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 171: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Efficiency Results

DBMonster SchemaAnalyst

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 172: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Efficiency Results

DBMonster SchemaAnalyst

(0.41, 1.09, 1.90, 5.07, 36.52)

(1.50, 3.01, 5.21, 16.79, 639.93)

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 173: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Efficiency Results

DBMonster SchemaAnalyst

(0.41, 1.09, 1.90, 5.07, 36.52)

(1.50, 3.01, 5.21, 16.79, 639.93)

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 174: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Results Analysis

Efficiency Results

DBMonster SchemaAnalyst

(0.41, 1.09, 1.90, 5.07, 36.52)

(1.50, 3.01, 5.21, 16.79, 639.93)

SchemaAnalystexhibits competi-tive data genera-tion times that areless variable

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 175: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Summary

Important Contributions

This paper presents SchemaAnalyst, asearch-based system for testing the complex

integrity constraints in relational schemas

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 176: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Summary

Important Contributions

This paper presents SchemaAnalyst, asearch-based system for testing the complex

integrity constraints in relational schemas

The empirical study demonstrates that Schema-Analyst’s efficiency is competitive with DBMonster’s

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 177: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Summary

Important Contributions

This paper presents SchemaAnalyst, asearch-based system for testing the complex

integrity constraints in relational schemas

The empirical study demonstrates that Schema-Analyst’s efficiency is competitive with DBMonster’s

SchemaAnalyst almost always covers 100% of theconstraints in the 25 chosen relational schemas

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 178: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Summary

Important Contributions

This paper presents SchemaAnalyst, asearch-based system for testing the complex

integrity constraints in relational schemas

The empirical study demonstrates that Schema-Analyst’s efficiency is competitive with DBMonster’s

SchemaAnalyst almost always covers 100% of theconstraints in the 25 chosen relational schemas

SchemaAnalyst’s mutation score is higherthan DBMonster’s for 96% of the schemas

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Page 179: Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems

Introduction Testing Technique Empirical Study Conclusion

Summary

Important Contributions

This paper presents SchemaAnalyst, asearch-based system for testing the complex

integrity constraints in relational schemas

The empirical study demonstrates that Schema-Analyst’s efficiency is competitive with DBMonster’s

SchemaAnalyst almost always covers 100% of theconstraints in the 25 chosen relational schemas

SchemaAnalyst’s mutation score is higherthan DBMonster’s for 96% of the schemas

http://www.schemaanalyst.org

Kapfhammer, McMinn, and Wright March 19, 2013

Search-Based Testing of Relational Schema Integrity Constraints Across Multiple Database Management Systems