Skip to main content

Highly Scalable Multi Objective Test Suite Minimisation Using Graphics Cards

  • Conference paper
Search Based Software Engineering (SSBSE 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6956))

Included in the following conference series:

Abstract

Despite claims of “embarrassing parallelism” for many optimisation algorithms, there has been very little work on exploiting parallelism as a route for SBSE scalability. This is an important oversight because scalability is so often a critical success factor for Software Engineering work. This paper shows how relatively inexpensive General Purpose computing on Graphical Processing Units (GPGPU) can be used to run suitably adapted optimisation algorithms, opening up the possibility of cheap scalability. The paper develops a search based optimisation approach for multi objective regression test optimisation, evaluating it on benchmark problems as well as larger real world problems. The results indicate that speed–ups of over 25x are possible using widely available standard GPUs. It is also encouraging that the results reveal a statistically strong correlation between larger problem instances and the degree of speed up achieved. This is the first time that GPGPU has been used for SBSE scalability.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)

    MATH  Google Scholar 

  2. Pressman, R.: Software Engineering: A Practitioner’s Approach, 3rd edn. McGraw-Hill Book Company Europe, Maidenhead (1992); european adaptation (1994); Adapted by Darrel Ince

    Google Scholar 

  3. Cordy, J.R.: Comprehending reality - practical barriers to industrial adoption of software maintenance automation. In: IEEE International Workshop on Program Comprehension (IWPC 2003), pp. 196–206. IEEE Computer Society, Los Alamitos (2003)

    Chapter  Google Scholar 

  4. Chau, P.Y.K., Tam, K.Y.: Factors affecting the adoption of open systems: An exploratory study. MIS Quarterly 21(1) (1997)

    Google Scholar 

  5. Premkumar, G., Potter, M.: Adoption of computer aided software engineering (CASE) technology: An innovation adoption perspective. Database 26(2&3), 105–124 (1995)

    Google Scholar 

  6. Cantú-Paz, E., Goldberg, D.E.: Efficient parallel genetic algorithms: theory and practice. Computer Methods in Applied Mechanics and Engineering 186(2-4), 221–238 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  7. Mitchell, B.S., Traverso, M., Mancoridis, S.: An architecture for distributing the computation of software clustering algorithms. In: IEEE/IFIP Proceedings of the Working Conference on Software Architecture (WICSA 2001), pp. 181–190. IEEE Computer Society Press, Amsterdam (2001)

    Chapter  Google Scholar 

  8. Mahdavi, K., Harman, M., Hierons, R.M.: A multiple hill climbing approach to software module clustering. In: IEEE International Conference on Software Maintenance, pp. 315–324. IEEE Computer Society Press, Los Alamitos (2003)

    Google Scholar 

  9. Asadi, F., Antoniol, G., Guéhéneuc, Y.-G.: Concept locations with genetic algorithms: A comparison of four distributed architectures. In: Proceedings of 2nd International Symposium on Search based Software Engineering (SSBSE 2010). IEEE Computer Society Press, Benevento (2010) (to appear)

    Google Scholar 

  10. Zhang, Y.: SBSE repository (February 14, 2011), http://www.sebase.org/sbse/publications/repository.html

  11. Langdon, W.B., Banzhaf, W.: A SIMD interpreter for genetic programming on GPU graphics cards. In: O’Neill, M., Vanneschi, L., Gustafson, S., Esparcia Alcázar, A.I., De Falco, I., Della Cioppa, A., Tarantino, E. (eds.) EuroGP 2008. LNCS, vol. 4971, pp. 73–85. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krüger, J., Lefohn, A.E., Purcell, T.J.: A survey of general-purpose computation on graphics hardware. Computer Graphics Forum 26(1), 80–113 (2007)

    Article  Google Scholar 

  13. Boyer, M., Tarjan, D., Acton, S.T., Skadron, K.: Accelerating leukocyte tracking using cuda: A case study in leveraging manycore coprocessors. In: Proceedings of the 23rd IEEE International Parallel and Distributed Processing Symposium (IPDPS) (May 2009)

    Google Scholar 

  14. Govindaraju, N.K., Gray, J., Kumar, R., Manocha, D.: Gputerasort: High performance graphics coprocessor sorting for large database management. In: ACM SIGMOD (2006)

    Google Scholar 

  15. Hutchins, M., Foster, H., Goradia, T., Ostrand, T.: Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria. In: Proceedings of the 16th International Conference on Software Engineering (ICSE 1994), pp. 191–200. IEEE Computer Society Press, Los Alamitos (1994)

    Chapter  Google Scholar 

  16. Do, H., Elbaum, S.G., Rothermel, G.: Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering 10(4), 405–435 (2005)

    Article  Google Scholar 

  17. Rothermel, G., Harrold, M., Ronne, J., Hong, C.: Empirical studies of test suite reduction. Software Testing, Verification, and Reliability 4(2), 219–249 (2002)

    Article  Google Scholar 

  18. Yoo, S., Harman, M.: Regression testing minimisation, selection and prioritisation: A survey. Software Testing, Verification, and Reliability (2010) (to appear)

    Google Scholar 

  19. Garey, M.R., Johnson, D.S.: Computers and Intractability: A guide to the theory of NP-Completeness. W. H. Freeman and Company, New York (1979)

    MATH  Google Scholar 

  20. Offutt, J., Pan, J., Voas, J.: Procedures for reducing the size of coverage-based test sets. In: Proceedings of the 12th International Conference on Testing Computer Software, pp. 111–123. ACM Press, New York (1995)

    Google Scholar 

  21. Harrold, M.J., Gupta, R., Soffa, M.L.: A methodology for controlling the size of a test suite. ACM Transactions on Software Engineering and Methodology 2(3), 270–285 (1993)

    Article  Google Scholar 

  22. Chen, T., Lau, M.: Heuristics towards the optimization of the size of a test suite. In: Proceedings of the 3rd International Conference on Software Quality Management, vol. 2, pp. 415–424 (1995)

    Google Scholar 

  23. Maia, C.L.B., do Carmo, R.A.F., de Freitas, F.G., de Campos, G.A.L., de Souza, J.T.: A multi-objective approach for the regression test case selection problem. In: Proceedings of Anais do XLI Simpòsio Brasileiro de Pesquisa Operacional (SBPO 2009), pp. 1824–1835 (2009)

    Google Scholar 

  24. Yoo, S., Harman, M.: Pareto efficient multi-objective test case selection. In: Proceedings of International Symposium on Software Testing and Analysis, pp. 140–150. ACM Press, New York (2007)

    Google Scholar 

  25. Ekman, M., Warg, F., Nilsson, J.: An in-depth look at computer performance growth. SIGARCH Computer Architecture News 33(1), 144–147 (2005)

    Article  Google Scholar 

  26. Tsutsui, S., Fujimoto, N.: Solving quadratic assignment problems by genetic algorithms with GPU computation: a case study. In: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference (GECCO 2009), pp. 2523–2530. ACM Press, New York (2009)

    Chapter  Google Scholar 

  27. Wilson, G., Banzhaf, W.: Deployment of cpu and gpu-based genetic programming on heterogeneous devices. In: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference (GECCO 2009), pp. 2531–2538. ACM Press, New York (2009)

    Chapter  Google Scholar 

  28. Wong, M.L.: Parallel multi-objective evolutionary algorithms on graphics processing units. In: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference (GECCO 2009), pp. 2515–2522. ACM Press, New York (2009)

    Chapter  Google Scholar 

  29. Nethercote, N., Seward, J.: Valgrind: A program supervision framework. In: Proceedings of ACM Conference on Programming Language Design and Implementation, pp. 89–100. ACM Press, New York (2007)

    Google Scholar 

  30. Durillo, J.J., Nebro, A.J., Luna, F., Dorronsoro, B., Alba, E.: jMetal: A Java Framework for Developing Multi-Objective Optimization Metaheuristics. Departamento de Lenguajes y Ciencias de la Computación, University of Málaga, E.T.S.I. Informática, Campus de Teatinos, Tech. Rep. ITI-2006-10 (December 2006)

    Google Scholar 

  31. Durillo, J.J., Nebro, A.J., Alba, E.: The jmetal framework for multi-objective optimization: Design and architecture. In: Proceedings of Congress on Evolutionary Computation 2010, Barcelona, Spain, pp. 4138–4325 (July 2010)

    Google Scholar 

  32. Chafik, O.: JavaCL: opensource Java wrapper for OpenCL library (2009), code.google.com/p/javacl/ (accessed June 6, 2010)

  33. Bull, J.M., Westhead, M.D., Kambites, M.E., Obrzalek, J.: Towards OpenMP for java. In: Proceedings of the European Workshop on OpenMP, pp. 98–105 (2000)

    Google Scholar 

  34. ATI Stream Computing: OpenCL Programming Guide Rev. AMD Corp. (August 2010)

    Google Scholar 

  35. 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, pp. 119–129. ACM, New York (2002)

    Google Scholar 

  36. Engström, E., Runeson, P., Wikstrand, G.: An empirical evaluation of regression testing based on fix-cache recommendations. In: Proceedings of the 3rd International Conference on Software Testing Verification and Validation (ICST 2010), pp. 75–78. IEEE Computer Society Press, Los Alamitos (2010)

    Chapter  Google Scholar 

  37. Yoo, S., Harman, M., Ur, S.: Measuring and improving latency to avoid test suite wear out. In: Proceedings of the Interntional Conference on Software Testing, Verification and Validation Workshop (ICSTW 2009), pp. 101–110. IEEE Computer Society Press, Los Alamitos (2009)

    Chapter  Google Scholar 

  38. Chen, T.Y., Lau, M.F.: Dividing strategies for the optimization of a test suite. Information Processing Letters 60(3), 135–141 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  39. Wong, W.E., Horgan, J.R., London, S., Mathur, A.P.: Effect of test set minimization on fault detection effectiveness. Software Practice and Experience 28(4), 347–369 (1998)

    Article  Google Scholar 

  40. Wong, W.E., Horgan, J.R., Mathur, A.P., Pasquini, A.: Test set size minimization and fault detection effectiveness: A case study in a space application. The Journal of Systems and Software 48(2), 79–89 (1999)

    Article  Google Scholar 

  41. Rothermel, G., Elbaum, S., Malishevsky, A., Kallakuri, P., Davia, B.: The impact of test suite granularity on the cost-effectiveness of regression testing. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 130–140. ACM Press, New York (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yoo, S., Harman, M., Ur, S. (2011). Highly Scalable Multi Objective Test Suite Minimisation Using Graphics Cards. In: Cohen, M.B., Ó Cinnéide, M. (eds) Search Based Software Engineering. SSBSE 2011. Lecture Notes in Computer Science, vol 6956. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23716-4_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23716-4_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23715-7

  • Online ISBN: 978-3-642-23716-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics