Epistatic Genetic Algorithm for Test Case Prioritization

Search based technologies have been widely used in regression test suite optimization, including test case prioritization, test case selection and test suite minimization, to improve the efficiency and reduce the cost of testing. Unlike test case selection and test suite minimization, the evaluation of test case prioritization is based on the test case execution sequence, in which genetic algorithm is one of the most popular algorithms employed. When permutation encoding is used to represent the execution sequence, the execution of previous test cases can affect the presence of the following test cases, namely epistatic effect. In this paper, the application of epistatic domains theory in genetic algorithms for test case prioritization is analyzed, where Epistatic Test Case Segment is defined. Two associated crossover operators are proposed based on epistasis. The empirical studies show that the proposed two-point crossover operator, E-Ord, outperform the crossover PMX, and can produce higher fitness with a faster convergence.

[1]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[2]  Lalit M. Patnaik,et al.  Adaptive probabilities of crossover and mutation in genetic algorithms , 1994, IEEE Trans. Syst. Man Cybern..

[3]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[4]  Yuval Davidor,et al.  Epistasis Variance: Suitability of a Representation to Genetic Algorithms , 1990, Complex Syst..

[5]  Mohamed Slimane,et al.  Epistasis for real encoding in genetic algorithms , 1996, 1996 Australian New Zealand Conference on Intelligent Information Systems. Proceedings. ANZIIS 96.

[6]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[7]  Bull,et al.  An Overview of Genetic Algorithms: Pt 2, Research Topics , 1993 .

[8]  Jun Cheng,et al.  A Fine-Grained Parallel Multi-objective Test Case Prioritization on GPU , 2013, SSBSE.

[9]  Byung-Ro Moon,et al.  Voronoi quantized crossover for traveling salesman problem , 2002 .

[10]  Mark Harman,et al.  Highly Scalable Multi Objective Test Suite Minimisation Using Graphics Cards , 2011, SSBSE.

[11]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[12]  J. Galletly An Overview of Genetic Algorithms , 1992 .

[13]  David Beasley,et al.  An overview of genetic algorithms: Part 1 , 1993 .

[14]  Nick Barton,et al.  A variance decomposition approach to the analysis of genetic algorithms , 2013, GECCO '13.

[15]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[16]  Joseph Robert Horgan,et al.  Effect of Test Set Minimization on Fault Detection Effectiveness , 1995, 1995 17th International Conference on Software Engineering.

[17]  Mark Harman,et al.  Pareto Efficient Multi-Objective Regression Test Suite Prioritisation , 2014 .

[18]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[19]  Pedro Larrañaga,et al.  Genetic Algorithms for the Travelling Salesman Problem: A Review of Representations and Operators , 1999, Artificial Intelligence Review.

[20]  Jong Sou Park,et al.  Applying Particle Swarm Optimization to Prioritizing Test Cases for Embedded Real Time Software Retesting , 2008, 2008 IEEE 8th International Conference on Computer and Information Technology Workshops.

[21]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[22]  Arvinder Kaur,et al.  Test case prioritization using ant colony optimization , 2010, SOEN.

[23]  Lawrence Davis,et al.  Applying Adaptive Algorithms to Epistatic Domains , 1985, IJCAI.