mrstudyr: Retrospectively Studying the Effectiveness of Mutant Reduction Techniques

Mutation testing is a well-known method for measuring a test suite's quality. However, due to its computational expense and intrinsic difficulties (e.g., detecting equivalent mutants and potentially checking a mutant's status for each test), mutation testing is often challenging to practically use. To control the computational cost of mutation testing, many reduction strategies have been proposed (e.g., uniform random sampling over mutants). Yet, a stand-alone tool to compare the efficiency and effectiveness of these methods is heretofore unavailable. Since existing mutation testing tools are often complex and language-dependent, this paper presents a tool, called mrstudyr, that enables the "retrospective" study of mutant reduction methods using the data collected from a prior analysis of all mutants. Focusing on the mutation operators and the mutants that they produce, the presented tool allows developers to prototype and evaluate mutant reducers without being burdened by the implementation details of mutation testing tools. Along with describing mrstudyr's design and overviewing the experimental results from using it, this paper inaugurates the public release of this open-source tool.

[1]  Pankaj Mudholkar,et al.  Software Testing , 2002, Computer.

[2]  Phil McMinn,et al.  Virtual Mutation Analysis of Relational Database Schemas , 2016, 2016 IEEE/ACM 11th International Workshop in Automation of Software Test (AST).

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

[4]  René Just,et al.  MAJOR: An efficient and extensible tool for mutation analysis in a Java compiler , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

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

[6]  René Just,et al.  Using Non-redundant Mutation Operators and Test Suite Prioritization to Achieve Efficient and Scalable Mutation Analysis , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.

[7]  Lionel C. Briand,et al.  A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering , 2014, Softw. Test. Verification Reliab..

[8]  T. Chai,et al.  Root mean square error (RMSE) or mean absolute error (MAE)? – Arguments against avoiding RMSE in the literature , 2014 .

[9]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[10]  Tao Xie,et al.  Is operator-based mutant selection superior to random mutant selection? , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

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

[12]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[13]  Alex Groce,et al.  An empirical comparison of mutant selection approaches , 2015 .

[14]  Luciano Baresi,et al.  An Introduction to Software Testing , 2006, FoVMT.

[15]  Phil McMinn,et al.  SchemaAnalyst: Search-Based Test Data Generation for Relational Database Schemas , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[16]  Sarfraz Khurshid,et al.  Operator-based and random mutant selection: Better together , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[17]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[18]  Robert Gentleman,et al.  Statistical Analyses and Reproducible Research , 2007 .

[19]  Gregory M. Kapfhammer Empirically Evaluating Regression Testing Techniques: Challenges, Solutions, and a Potential Way Forward , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

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

[21]  D. J. Robson Regression testing , 1993 .

[22]  Phil McMinn,et al.  Hitchhikers Need Free Vehicles! Shared Repositories for Statistical Analysis in SBST , 2016, 2016 IEEE/ACM 9th International Workshop on Search-Based Software Testing (SBST).

[23]  W. Eric Wong,et al.  Reducing the cost of mutation testing: An empirical study , 1995, J. Syst. Softw..

[24]  R.A. DeMillo,et al.  An extended overview of the Mothra software testing environment , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

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

[26]  Kim J. Vicente,et al.  Programming errors contribute to death from patient-controlled analgesia: case report and estimate of probability , 2003, Canadian journal of anaesthesia = Journal canadien d'anesthesie.

[27]  Nikolai Joukov,et al.  A nine year study of file system and storage benchmarking , 2008, TOS.

[28]  W. Eric Wong,et al.  An empirical comparison of data flow and mutation‐based test adequacy criteria , 1994, Softw. Test. Verification Reliab..

[29]  Gregg Rothermel,et al.  An experimental evaluation of selective mutation , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

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

[31]  Alex Groce,et al.  Do Mutation Reduction Strategies Matter , 2015 .

[32]  Ron Patton,et al.  Software Testing , 2000 .

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

[34]  Gregory M. Kapfhammer Regression Testing , 2010, Encyclopedia of Software Engineering.