Skip to main content

A Comparison of Dataflow and Mutation Testing of Java Methods

  • Conference paper
Dependable Computer Systems

Part of the book series: Advances in Intelligent and Soft Computing ((AINSC,volume 97))

Abstract

The objective of this chapter is to compare the dataflow and the mutation testing of several Java programs. Experiments were conducted in the Eclipse environment. DFC plugin was used to support the dataflow testing while MuClipse and Jumble plugins were used for the mutation testing. The results of testing six Java programs using data flow and mutation techniques are presented. Experiment shown, that the effectiveness of mutation testing is higher than the effectiveness of dataflow testing. Mutation technique appeared also to be more expensive than the data flow one, if time and effort are considered.

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 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.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. Agraval, H., Demilo, RA., et. al: Design of Mutant Operators for the C Programming Language. Purdue University, West Lafayette, Technical Report SERC-TR-41-P (1989)

    Google Scholar 

  2. Bluemke, I., Rembiszewski, A.: Dataflow approach to testing Java programs. In: Proceedings of International Conference on Dependability of Computer Systems DepCoS - RELCOMEX 2009, pp. 69-76 (2009), ISBN 978-0-7695-3674-3

    Google Scholar 

  3. Chevalley, P., Thevenod-Fosse, P.: Mutation Analysis Tool for Java Programs. International Journal on Software Tools for Technology Transfer 5(1), 90–103 (2002)

    Google Scholar 

  4. Coffeemaker, http://agile.csc.ncsu.edu/SEMaterials/tutorials/coffee_maker (accessed 2010)

  5. Delamaro, M.E., Maldonado, J.C.: Interface Mutation: Assessing Testing Quality at Interprocedural Level. In: Proceedings of the International Conference of the Chilean Computer Science Society (SCCC 1999), Talca, Chile, pp. 78–86 (1999)

    Google Scholar 

  6. Derezińska, A., Szustek, A.: Tool supported Advanced Mutation Approach for Verification of C# Programs. In: Proceedings of International Conference on Dependability of Computer Systems DepCoS - RELCOMEX 2008, Szklarska Poręba, Poland, pp. 261–268 (2008)

    Google Scholar 

  7. Frankl, P.G., Weiss, S.N., Hu, C.: All-uses versus mutation testing: An experimental comparison of effectiveness. Journal of Systems and Software 38, 235–253 (1997)

    Article  Google Scholar 

  8. Garhwal, S., Kumar, A., Sehrawat, P.: Mutation Testing for Java. In: Proceedings of National Conference on Challenges & Opportunities in Information Technology (COIT-2007), pp. 22–28 (2007)

    Google Scholar 

  9. Harrold, M.J., Rothermel, G.: Performing data flow testing on classes. In: Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 154–163 (1994)

    Google Scholar 

  10. Harold, M.J., Soffa, M.L.: Interprocedural data flow testing. In: Proceedings of the Third Testing, Analysis, and Verification Symposium, pp. 158–167 (1989)

    Google Scholar 

  11. Jabuti, http://jabuti.incubadora.fapesp.br/ (accessed 2009)

  12. Jia, Y., Harman, M.: An Analysis and Survey of the Development of Mutation Testing. Technical report TR-09-06, Crest Centre, Kong’s College London (1996), http://www.dcs.kcl.ac.uk/pg/jiayue/repository/TR-09-06.pdf (accessed 2010)

  13. Jumble, http://jumble.sourceforge.net/index.ht (accessed 2010)

  14. Junit, http://www.junit.org/ (accessed 2010)

  15. Juristo, N., Moreno, A.M., Vegas, S., Solari, M.: Search of What We Experimentally Know about Unit Testing. IEEE Software, 72–80 (2006)

    Google Scholar 

  16. Li, N., Praphamontripong, U., Offutt, J.: An Experimental Comparison of Four Unit Test Criteria: Mutation, Edge-Pair, All-uses and Prime Path Coverage. In: Proceedings of the 4th International Workshop on Mutation Analysis (MUTATION 2009), Denver, Colorado (2009)

    Google Scholar 

  17. Madeyski, L.: The impact of test-first programming on branch coverage and mutation score indicator of unit tests: An experiment. Information and Software Technology 52(2), 169–184 (2010)

    Article  Google Scholar 

  18. Malevris, N., Yates, D.F.: The collateral coverage of data flow criteria when branch test-ing. Information and Software Technology 48, 676–686 (2006)

    Article  Google Scholar 

  19. Mathur, A.P., Wong, W.E.: An empirical comparison of data flow and mutation-based test adequacy criteria. The Journal of Software Testing, Verification, and Reliability 4(1), 9–31 (1994)

    Article  Google Scholar 

  20. Mathur, A.P.: Mutation Testing. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, pp. 707–713 (1994)

    Google Scholar 

  21. Muclipse, http://muclipse.sourceforge.net/index.php (accessed January 2011)

  22. Mutation repository, http://www.dcs.kcl.ac.uk/pg/jiayue/repository (accessed January 2011)

  23. Offutt, A.J., Pan, J., Tewary, K., Zhang, T.: An Experimental Evaluation of Data Flow and mutation Testing. Software Practice and Experience 26(2), 165–176 (1996)

    Article  Google Scholar 

  24. Offutt, A.J., Untch, R.H.: Mutation 2000: Uniting the Orthogonal. In: Wong, W.E. (ed.) Mutation testing for the new century, pp. 34–44. Kluver Academic Publishers, Boston (2001)

    Google Scholar 

  25. Rembiszewski, A.: Testing object programs by data flow coverage. MSc thesis, Institute of Computer Science, Warsaw University of Technology (2009)

    Google Scholar 

  26. Rapps, S., Weyuker, E.J.: Selecting software test data using data flow information. IEEE Transactions on Software Engineering 11, 367–375 (1985)

    Article  Google Scholar 

  27. Suchowski, J.: Network game – NetworkShips Battle. Institute of Computer Science, Warsaw University of Technology (2010)

    Google Scholar 

  28. Vincenzi, A.M.R., Maldonado, J.C., Wong, W.E., Delamaro, M.E.: Coverage testing of Java programs and components. Science of Computer Programming 56, 211–230 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  29. Vincenzi, A., Delamaro, M., Höhn, E., Maldonado, J.C.: Functional, control and data flow, and mutation testing: Theory and practice. In: Borba, P., Cavalcanti, A., Sampaio, A., Woodcook, J. (eds.) PSSE 2007. LNCS, vol. 6153, pp. 18–58. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  30. Woodward, M.R., Hennell, M.A.: On the relationship between two control-flow coverage criteria: all JJ-paths and MCDC. Information & Software Technology 48, 433–440 (2006)

    Article  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

Bluemke, I., Kulesza, K. (2011). A Comparison of Dataflow and Mutation Testing of Java Methods. In: Zamojski, W., Kacprzyk, J., Mazurkiewicz, J., Sugier, J., Walkowiak, T. (eds) Dependable Computer Systems. Advances in Intelligent and Soft Computing, vol 97. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21393-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21393-9_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21392-2

  • Online ISBN: 978-3-642-21393-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics