Automatically Evaluating the Efficiency of Search-Based Test Data Generation for Relational Database Schemas

The characterization of an algorithm’s worst-case time complexity is useful because it succinctly captures how its runtime will grow as the input size becomes arbitrarily large. However, for certain algorithms—such as those performing search-based test data generation—a theoretical analysis to determine worst-case time complexity is difficult to generalize and thus not often reported in the literature. This paper introduces a framework that empirically determines an algorithm’s worst-case time complexity by doubling the size of the input and observing the change in runtime. Since the relational database is a centerpiece of modern software and the database’s schema is frequently untested, we apply the doubling technique to the domain of data generation for relational database schemas, a field where worst-case time complexities are often unknown. In addition to demonstrating the feasibility of suggesting the worst-case runtimes of the chosen algorithms and configurations, the results of our study reveal performance tradeoffs in testing strategies for relational database schemas.

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

[2]  Mark Harman,et al.  Empirical Study on the Efficiency of Search Based Test Generation for EFSM Models , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[3]  Andrea Arcuri,et al.  Full Theoretical Runtime Analysis of Alternating Variable Method on the Triangle Classification Problem , 2009, 2009 1st International Symposium on Search Based Software Engineering.

[4]  Dirk Sudholt,et al.  Design and analysis of different alternating variable searches for search-based software testing , 2015, Theor. Comput. Sci..

[5]  Robert Feldt,et al.  A Factorial Experiment on Scalability of Search Based Software Testing , 2011, ArXiv.

[6]  Phil McMinn,et al.  An Analysis of the Effectiveness of Different Coverage Criteria for Testing Relational Database Schema Integrity Constraints , 2015 .

[7]  Catherine C. McGeoch A Guide to Experimental Algorithmics , 2012 .

[8]  Mark Harman,et al.  AUSTIN: An open source tool for search based software testing of C programs , 2013, Inf. Softw. Technol..

[9]  Christopher J. Van Wyk,et al.  Algorithms in C++: Fundamentals, Data Structures, Sorting, Searching , 1998 .

[10]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[11]  Simon Goldsmith,et al.  Measuring empirical computational complexity , 2007, ESEC-FSE '07.

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