A Fine-Grained Parallel Multi-objective Test Case Prioritization on GPU

  • Zheng Li
  • Yi Bian
  • Ruilian Zhao
  • Jun Cheng
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8084)


Multi-Objective Evolutionary Algorithms (MOEAs) have been widely used to address regression test optimization problems, including test case selection and test suite minimization. GPU-based parallel MOEAs are proposed to increase execution efficiency to fulfill the industrial demands. When using binary representation in MOEAs, the fitness evaluation can be transformed a parallel matrix multiplication that is implemented on GPU easily and more efficiently. Such GPU-based parallel MOEAs may achieve higher level of speed-up for test case prioritization because the computation load of fitness evaluation in test case prioritization is more than that in test case selection or test suite minimization. However, the non-applicability of binary representation in the test case prioritization results in the challenge of parallel fitness evaluation on GPU. In this paper, we present a GPU-based parallel fitness evaluation and three novel parallel crossover computation schemes based on ordinal and sequential representations, which form a fine-grained parallel framework for multi-objective test case prioritization. The empirical studies based on eight benchmarks and one open source program show a maximum of 120x speed-up achieved.


Test Case Prioritization Mulit-Objective Optimization NSGA-II GPU CUDA 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability 22(2), 67–120 (2012)CrossRefGoogle Scholar
  2. 2.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Test case prioritization: An empirical study. In: Proceedings of the IEEE International Conference on Software Maintenance, Los Alamitos, California, USA, pp. 179–188. IEEE Computer Society Press (1999)Google Scholar
  3. 3.
    Rothermel, G., Untch, R., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering 27(10), 929–948 (2001)CrossRefGoogle Scholar
  4. 4.
    Elbaum, S., Malishevsky, A., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Transactions on Software Engineering 28(2), 159–182 (2002)CrossRefGoogle Scholar
  5. 5.
    Wong, W.E., Horgan, J.R., London, S., Bellcore, H.A.: A study of effective regression testing in practice. In: Proceedings of the Eighth International Symposium on Software Reliability Engineering (ISSRE 1997), vol. 264. IEEE Computer Society (1997)Google Scholar
  6. 6.
    Kim, J.M., Porter, A.: A history-based test prioritization technique for regression testing in resource constrained environments. In: Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, pp. 119–129 (2002)Google Scholar
  7. 7.
    Li, Z., Harman, M., Hierons, R.: Meta-heuristic search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering 33(4), 225–237 (2007)CrossRefGoogle Scholar
  8. 8.
    Zitzler, E.: Evolutionary algorithms for multiobjective optimization: Methods and applications, vol. 63. Shaker, Ithaca (1999)Google Scholar
  9. 9.
    Knowles, J., Corne, D.: The pareto archived evolution strategy: a new baseline algorithm for pareto multiobjective optimisation. In: Proceedings of the 1999 Congress on Evolutionary Computation, CEC 1999, vol. 1, p. 105 (1999)Google Scholar
  10. 10.
    Rudolph, G.: Evolutionary search under partially ordered fitness sets. HT014601767 (2001)Google Scholar
  11. 11.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2), 182–197 (2002)CrossRefGoogle Scholar
  12. 12.
    Yoo, S., Harman, M.: Pareto efficient multi-objective test case selection. In: International Symposium on Software Testing and Analysis (ISSTA 2007), London, United Kingdom, pp. 140–150. Association for Computer Machinery (July 2007)Google Scholar
  13. 13.
    Zhang, Y., Harman, M., Lim, S.L.: Empirical evaluation of search based requirements interaction management. Information and Software Technology 55(1), 126–152 (2013)CrossRefGoogle Scholar
  14. 14.
    Yoo, S., Harman, M., Ur, S.: Highly scalable multi objective test suite minimisation using graphics cards. In: Cohen, M.B., Ó Cinnéide, M. (eds.) SSBSE 2011. LNCS, vol. 6956, pp. 219–236. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  15. 15.
    Luong, T.V., Melab, N., Talbi, E.G.: GPU-based island model for evolutionary algorithms. In: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, GECCO 2010. ACM, New York (2010)Google Scholar
  16. 16.
    Tsutsui, S., Fujimoto, N.: Solving quadratic assignment problems by genetic algorithms with GPU computation: a case study. In: GECCO, vol. 9, pp. 2523–2530 (2009)Google Scholar
  17. 17.
    Munawar, A., Wahib, M., Munetomo, M., Akama, K.: Hybrid of genetic algorithm and local search to solve MAX-SAT problem using nVidia CUDA framework. Genetic Programming and Evolvable Machines 10(4), 391–415 (2009)CrossRefGoogle Scholar
  18. 18.
    Veldhuizen, D.A.V., Lamont, G.B.: Multiobjective evolutionary algorithms: Analyzing the state-of-the-art. Evolutionary Computation 8(2), 125–147 (2000)CrossRefGoogle Scholar
  19. 19.
    Cantu-Paz, E.: Designing efficient master-slave parallel genetic algorithms (1997)Google Scholar
  20. 20.
    Makinen, R., Neittaanmaki, P., Periaux, J., Sefrioui, M., Toivanen, J.: Parallel genetic solution for multiobjective mdo. In: Parallel Computational Fluid Dynamics: Algorithms and Results Using Advanced Computers, pp. 352–359 (1997)Google Scholar
  21. 21.
    Horii, H., Miki, M., Koizumi, T., Tsujiuchi, N.: Asynchronous migration of island parallel ga for multi-objective optimization problem. In: Asia-Pacific Conference on Simulated Evolution and Learning, vol. 1, pp. 86–90 (2002)Google Scholar
  22. 22.
    Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krger, J., Lefohn, A.E., Purcell, T.J.: A survey of general-purpose computation on graphics hardware. Computer Graphics Forum 26(1), 80–113 (2007)CrossRefGoogle Scholar
  23. 23.
    Antoniol, G., Penta, M.D., Harman, M.: Search-based techniques applied to optimization of project planning for a massive maintenance project. In: 21st IEEE International Conference on Software Maintenance, Los Alamitos, California, USA, pp. 240–249. IEEE Computer Society Press (2005)Google Scholar
  24. 24.
    Larraaga, P., Kuijpers, C., Murga, R., Inza, I., Dizdarevic, S.: Genetic algorithms for the travelling salesman problem: A review of representations and operators. Artificial Intelligence Review 13(2), 129–170 (1999)CrossRefGoogle Scholar
  25. 25.
    Harris, M., Sengupta, S., Owens, J.D.: Parallel prefix sum (scan) with CUDA. GPU Gems 3(39), 851–876 (2007)Google Scholar
  26. 26.
    Harman, M.: Making the case for morto: Multi objective regression test optimization. In: 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 111–114 (2011)Google Scholar
  27. 27.
    Antoniol, G., Di Penta, M., Harman, M.: A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty. In: Proceedings of the 10th International Symposium on Software Metrics, pp. 172–183 (2004)Google Scholar
  28. 28.
    Islam, M.M., Marchetto, A., Susi, A., Scanniello, G.: A multi-objective technique to prioritize test cases based on latent semantic indexing. In: Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering, CSMR 2012, Washington, DC, pp. 21–30. IEEE Computer Society (2012)Google Scholar
  29. 29.
    Kromer, P., Platos, J., Snasel, V.: Genetic algorithm for clustering accelerated by the CUDA platform. In: 2012 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp. 1005–1010 (2012)Google Scholar
  30. 30.
    Zhou, Y., Tan, Y.: GPU-based parallel particle swarm optimization. In: IEEE Congress on Evolutionary Computation, CEC 2009, pp. 1493–1500 (2009)Google Scholar
  31. 31.
    Qin, A.K., Raimondo, F., Forbes, F., Ong, Y.S.: An improved CUDA-based implementation of differential evolution on GPU. In: Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference, GECCO 2012, pp. 991–998. ACM, New York (2012)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Zheng Li
    • 1
  • Yi Bian
    • 1
  • Ruilian Zhao
    • 1
  • Jun Cheng
    • 2
  1. 1.Department of Computer ScienceBeijing University of Chemical TechnologyBeijingP.R. China
  2. 2.Chongqing Institute of Green and Intelligent TechnologyChinese Academy of SciencesChongqingP.R. China

Personalised recommendations