Systolic Genetic Search for Software Engineering: The Test Suite Minimization Case

The Test Suite Minimization Problem (TSMP) is a \(\mathcal {NP}\)-hard real-world problem that arises in the field of software engineering. It lies in selecting the minimal set of test cases from a large test suite, ensuring that the test cases selected cover a given set of elements of a computer program under test. In this paper, we propose a Systolic Genetic Search (SGS) algorithm for solving the TSMP. We use the global concept of SGS to derive a particular algorithm to explicitly exploit the high degree of parallelism available in modern GPU architectures. The experimental evaluation on seven real-world programs shows that SGS is highly effective for the TSMP, as it obtains the optimal solution in almost every single run for all the tested software. It also outperforms two competitive Genetic Algorithms. The GPU-based implementation of SGS has achieved a high performance, obtaining runtime reductions of up to 40\(\times \) compared to its sequential implementation, and solving all the instances considered in less than nine seconds.

[1]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[2]  Enrique Alba,et al.  Parallel Metaheuristics: A New Class of Algorithms , 2005 .

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

[4]  David J. Sheskin,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 1997 .

[5]  D. Sheskin Handbook of Parametric and Nonparametric Statistical Procedures: Third Edition , 2000 .

[6]  Mary Lou Soffa,et al.  A methodology for controlling the size of a test suite , 1993, TSEM.

[7]  Martín Pedemonte,et al.  New Ideas in Parallel Metaheuristics on GPU: Systolic Genetic Search , 2013, Massively Parallel Evolutionary Computation on GPGPUs.

[8]  Enrique Alba,et al.  On the Application of SAT Solvers to the Test Suite Minimization Problem , 2012, SSBSE.

[9]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.

[10]  Mark Harman,et al.  Pareto efficient multi-objective test case selection , 2007, ISSTA '07.

[11]  Mark Harman,et al.  GPGPU test suite minimisation: search based software engineering performance improvement using graphics cards , 2013, Empirical Software Engineering.

[12]  E. Alba,et al.  Towards the Design of Systolic Genetic Search , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[13]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[14]  Tsong Yueh Chen,et al.  A simulation study on some heuristics for test suite reduction , 1998, Inf. Softw. Technol..

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

[16]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[17]  Pierre Collet,et al.  Massively Parallel Evolutionary Computation on GPGPUs , 2013, Natural Computing Series.

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

[19]  H. T. Kung Why systolic architectures? , 1982, Computer.