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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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
Chevalley, P., Thevenod-Fosse, P.: Mutation Analysis Tool for Java Programs. International Journal on Software Tools for Technology Transfer 5(1), 90–103 (2002)
Coffeemaker, http://agile.csc.ncsu.edu/SEMaterials/tutorials/coffee_maker (accessed 2010)
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)
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)
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)
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)
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)
Harold, M.J., Soffa, M.L.: Interprocedural data flow testing. In: Proceedings of the Third Testing, Analysis, and Verification Symposium, pp. 158–167 (1989)
Jabuti, http://jabuti.incubadora.fapesp.br/ (accessed 2009)
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)
Jumble, http://jumble.sourceforge.net/index.ht (accessed 2010)
Junit, http://www.junit.org/ (accessed 2010)
Juristo, N., Moreno, A.M., Vegas, S., Solari, M.: Search of What We Experimentally Know about Unit Testing. IEEE Software, 72–80 (2006)
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)
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)
Malevris, N., Yates, D.F.: The collateral coverage of data flow criteria when branch test-ing. Information and Software Technology 48, 676–686 (2006)
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)
Mathur, A.P.: Mutation Testing. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, pp. 707–713 (1994)
Muclipse, http://muclipse.sourceforge.net/index.php (accessed January 2011)
Mutation repository, http://www.dcs.kcl.ac.uk/pg/jiayue/repository (accessed January 2011)
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)
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)
Rembiszewski, A.: Testing object programs by data flow coverage. MSc thesis, Institute of Computer Science, Warsaw University of Technology (2009)
Rapps, S., Weyuker, E.J.: Selecting software test data using data flow information. IEEE Transactions on Software Engineering 11, 367–375 (1985)
Suchowski, J.: Network game – NetworkShips Battle. Institute of Computer Science, Warsaw University of Technology (2010)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)