Skip to main content
Log in

A mutation analysis tool for Java programs

  • Regular contribution
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Program mutation is a fault-based technique for measuring the effectiveness of test cases that, although powerful, is computationally expensive. The principal expense of mutation is that many faulty versions of the program under test, called mutants, must be created and repeatedly executed. This paper describes a tool, called JavaMut, that implements 26 traditional and object-oriented mutation operators for supporting mutation analysis of Java programs. The current version of that tool is based on syntactic analysis and reflection for implementing mutation operators. JavaMut is interactive; it provides a graphical user interface to make mutation analysis faster and less painful. Thanks to such automated tools, mutation analysis should be achieved within reasonable costs.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barbosa, E.F., Maldonado, J.C., Rizzo Vincenzi, A.M.: Toward the determination of sufficient mutant operators for C. Software Test Verification Reliab 11: 113–136, 2001

    Article  Google Scholar 

  2. Booch, G., Rumbaugh, J., Jacobson, I.: The unified modeling language user guide. Object Technology Series. Addison-Wesley, Reading, Mass., USA, 1999

  3. Chevalley, P., Thévenod-Fosse, P.: An empirical evaluation of statistical testing designed from UML state diagrams: the flight guidance system case study. In: Proc. 12th International Symposium on Software Reliability Engineering (ISSRE 2001), Hong Kong, China, November 2001, pp. 254–263

  4. Daran, M., Thévenod-Fosse, P.: Software error analysis: a real case study involving real faults and mutations. In: Proc. 1996 International Symposium on Software Testing and Analysis (ISSTA’96), San Diego, Calif., USA, January 1996, pp. 158–171

  5. DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. Computer 11:34–41, April 1978

    Article  Google Scholar 

  6. DeMillo, R.A., Martin, R.J., McCracken, W.M., Passafiume, J.S.: Software testing and evaluation. Benjamin-Cummings, Menlo Park, Calif., USA, 1987

  7. Golm, M., Kleinöder, J.: Jumping to the meta level: behavioral reflection can be fast and flexible. In: Proc. 2nd International Conference on Metalevel Architectures and Reflection (Reflection’99), Lecture Notes in Computer Science, vol. 1616. Springer, Berlin Heidelberg New York, 1996, pp. 22–39

  8. Hierons, R.M., Harman, M., Danicic, S.: Using program slicing to assist in the detection of equivalent mutants. Software Test Verification Reliab 9: 233–262, 1999

    Article  Google Scholar 

  9. How Tai Wah, K.S.: A theoretical study of fault coupling. Software Test Verification Reliab 10: 3–45, 2000

    Article  Google Scholar 

  10. Kim, S., Clark, J.A., McDermid, J.A.: Class mutation: mutation testing for object-oriented programs. In: Proc. Net.ObjectDays Conference on Object-Oriented Software Systems, Erfurt, Germany, 2000

  11. Kim, S., Clark, J.A., McDermid, J.A.: Investigating the effectiveness of object-oriented testing strategies with the mutation method. In: Proc. Mutation 2000: Mutation Testing in the Twentieth and the Twenty-First Centuries, San Jose, Calif., USA, 2000

    Google Scholar 

  12. King, K.N., Offutt, A.J.: A Fortran language system for mutation-based software testing. Software Pract Exper 21: 685–718, 1991

    Article  Google Scholar 

  13. Laprie , J.-C. (ed): Dependability: basic concepts and terminology, vol. 5. Springer, Berlin Heidelberg New York, 1992

  14. Miller , S.P.: Specifying the mode logic of a flight guidance system in CoRE and SCR. In: Proc. 2nd Workshop on Formal Methods in Software Practice (FMSP’98), Clearwater Beach, Fla., USA, 1998

  15. Offutt, A.J.: Investigations of the software testing coupling effect. ACM Trans Software Eng Methodol 1: 3–18, 1992

    Article  Google Scholar 

  16. Offutt, A.J., Lee, A., Rothermel, G., Untch, R.H., Zapf , C.: An experimental determination of sufficient mutant operators. ACM Trans Software Eng Methodol 5: 99–118, 1996

    Article  Google Scholar 

  17. Offutt, A.J., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. Software Test Verification Reliab 7: 165–192, 1997

    Article  Google Scholar 

  18. The Open University, Milton Keynes, UK. M301 Case Study. http://m301.open.ac.uk/html/case_study/, 2002

  19. Tatsubori, M., Chiba, S., Killijian, M.-O., Itano, K.: OpenJava: a class-based macro system for Java. In: Reflection and Software Engineering, Lecture Notes in Computer Science, vol. 1826. Springer, Berlin Heidelberg New York, June 2000, pp. 117–133

  20. Thévenod-Fosse, P., Waeselynck, H.: Software statistical testing based on structural and functional criteria. In: Proc. 11th International Software Quality Week (QW’98), San Francisco, Calif., USA, May 1998

  21. Thévenod-Fosse, P., Waeselynck, H., Crouzet, Y.: Software statistical testing. In: Randell, B., Laprie, J.-C., Kopetz, H., Littlewood , B.(eds) Predictably dependable computing systems. Springer, Berlin Heidelberg New York, 1995, pp. 253–272

  22. Welch, I., Stroud, R.: From Dalang to Kava – the evolution of a reflective Java extension. In: Proc. 2nd International Conference on Metalevel Architectures and Reflection (Reflection’99), Lecture Notes in Computer Science, vol. 1616. Springer, Berlin Heidelberg New York, 1999, pp. 2–21

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to P. Thévenod-Fosse.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chevalley, P., Thévenod-Fosse, P. A mutation analysis tool for Java programs. Int J Softw Tools Technol Transfer 5, 90–103 (2003). https://doi.org/10.1007/s10009-002-0099-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-002-0099-9

Keywords

Navigation