Skip to main content

HadoopMutator: A Cloud-Based Mutation Testing Framework

  • Conference paper
Book cover Software Reuse for Dynamic Systems in the Cloud and Beyond (ICSR 2015)

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

Included in the following conference series:

Abstract

Mutation testing is a software engineering methodology where code mutation is used to assess the quality of a testing technique. Mutation testing is carried out by injecting errors in the code and measuring the ability of a testing tool to detect these errors. However, it is a time-consuming process, as tests need to be run on many variants of the code, called mutants. Each mutant represents a version of the code under test, with an injected error. In this paper, we propose HadoopMutator; a cloud-based mutation testing framework that reuses the MapReduce programming model in order to speed up the generation and testing of mutants. We show, through experimentation, that we can significantly enhance the performance of automated mutation testing and provide a scalable solution that is applicable for large-scale software projects. Based on two use cases, we show that the performance can be enhanced 10 folds, on average, using our proposed framework. By treating source code as data, our work paves the way for new reuse opportunities of the novel data-centric frameworks.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

References

  1. Buyya, R., et al.: Cloud computing: Principles and paradigms. John Wiley & Sons (2010)

    Google Scholar 

  2. Dean, J., Ghemawat, S.: MapReduce: Simplified Data Processing on Large Clusters. Communications of the ACM, 51(1), 107–113 (2008)

    Google Scholar 

  3. DeMillo, R.A., et al.: An extended overview of the Mothra software testing environment. Presented at the Proceedings of the Second Workshop on Software Testing, Verification, and Analysis (1988)

    Google Scholar 

  4. Derezińska, A.: Advanced Mutation Operators Applicable in C# Programs. In: Sacha, K. (ed.) Software Engineering Techniques: Design for Quality. IFIP, vol. 227, pp. 283–288. Springer, Boston (2007)

    Chapter  Google Scholar 

  5. Derezinska, A., Szustek, A.: Tool-Supported Advanced Mutation Approach for Verification of C# Programs. In: 3rd International Conference on Dependability of Computer Systems (2008)

    Google Scholar 

  6. Fraser, G., Zeller, A.: Mutation-Driven Generation of Unit Tests and Oracles. IEEE Transactions on Software Engineering 38(2), 278–292 (2012)

    Article  Google Scholar 

  7. Gospodnetic, O., Hatcher, E.: Lucene. Manning (2005)

    Google Scholar 

  8. Khare, R., et al.: Nutch: A flexible and scalable open-source web search engine. Oregon State University 1, 32 (2004)

    Google Scholar 

  9. Marynowski, J.E., et al.: Testing MapReduce-Based Systems. arXiv preprint arXiv:1209.6580 (2012)

    Google Scholar 

  10. Mateo, P.R., Usaola, M.P.: Bacterio: Java Mutation Testing Tool: A Framework to Evaluate Quality of Tests Cases. In: 28th IEEE International Conference on Software Maintenance (ICSM). IEEE (2012)

    Google Scholar 

  11. Mateo, P.R., Usaola, M.P.: Parallel Mutation Testing. Software Testing, Verification and Reliability 23(4), 315–350 (2013)

    Article  Google Scholar 

  12. Matyas, S., et al.: Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley (2007)

    Google Scholar 

  13. Ma, Y.-S., et al.: MuJava: An Automated Class Mutation System. Software Testing, Verification and Reliability 15(2), 97–133 (2005)

    Article  Google Scholar 

  14. Miller, M.: Cloud Computing: Web-Based Applications that Change the Way you Work and Collaborate Online. Que Publishing (2008)

    Google Scholar 

  15. Miner, D., Shook, A.: MapReduce Design Patterns: Building Effective Algorithms and Analytics for Hadoop and Other Systems. O’Reilly Media, Inc. (2012)

    Google Scholar 

  16. Nica, S., et al.: Is Mutation Testing Scalable for Real-World Software Projects?. In: The 3rd International Conference on Advances in System Testing and Validation Lifecycle, VALID 2011, pp. 40–45 (2011)

    Google Scholar 

  17. Parveen, T., et al.: Towards a Distributed Execution Framework for JUnit Test Cases. In: IEEE International Conference on Software Maintenance (ICSM 2009), pp. 425–428. IEEE (2009)

    Google Scholar 

  18. Saleh, I., et al.: Formal Methods for Data-Centric Web Services: From Model to Implementation. In: Proceedings of the IEEE International Conference on Web Services (ICWS 2013), pp. 332–339 (2013)

    Google Scholar 

  19. Saleh, I.: Formal Specification and Verification of Data-Centric Web Services. Virginia Polytechnic Institute and State University (2012)

    Google Scholar 

  20. Schuler, D., et al.: Efficient Mutation Testing by Checking Invariant Violations. In: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, pp. 69–80. ACM (2009)

    Google Scholar 

  21. Schuler, D., Zeller, A.: Javalanche: Efficient Mutation Testing for Java. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, pp. 297–298. ACM (2009)

    Google Scholar 

  22. Shvachko, K., et al.: The Hadoop Distributed File System. In: 26th IEEE Symposium on Mass Storage Systems and Technologies (MSST 2010), pp. 1–10. IEEE (2010)

    Google Scholar 

  23. Tilley, S., Parveen, T.: HadoopUnit: Test Execution in the Cloud. In: Software Testing in the Cloud, 37–53. Springer (2012)

    Google Scholar 

  24. Tukey, J.W.: Exploratory Data Analysis. Addison Wesley (1977)

    Google Scholar 

  25. Voas, J.M., McGraw, G.: Software Fault Injection: Inoculating Programs Against Errors. John Wiley & Sons (1998)

    Google Scholar 

  26. White, T.: Hadoop: The definitive guide: The definitive guide. O’Reilly Media, Inc. (2009)

    Google Scholar 

  27. Jia, Y., Harman, M.: An Analysis and Survey of the Development of Mutation Testing. IEEE Transactions on Software Engineering 37(5), 649–678 (2011)

    Article  Google Scholar 

  28. Apache Wicket, http://wicket.apache.org

  29. Bamboo, https://www.atlassian.com/software/bamboo

  30. CruiseControl, http://cruisecontrol.sourceforge.net/

  31. Hadoop Word Count Problem, http://wiki.apache.org/hadoop/WordCount

  32. Jenkins, http://jenkins-ci.org/

  33. Pitest Mutation Operators, http://Pitest.org/quickstart/mutators/

  34. Pitest Mutation Testing Framework, http://pitest.org/

  35. The Apache Software Foundation, http://www.apache.org/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Saleh, I., Nagi, K. (2014). HadoopMutator: A Cloud-Based Mutation Testing Framework. In: Schaefer, I., Stamelos, I. (eds) Software Reuse for Dynamic Systems in the Cloud and Beyond. ICSR 2015. Lecture Notes in Computer Science, vol 8919. Springer, Cham. https://doi.org/10.1007/978-3-319-14130-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14130-5_13

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14129-9

  • Online ISBN: 978-3-319-14130-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics