Skip to main content

Parallel Firm Mutation of Java Programs

  • Chapter
Mutation Testing for the New Century

Abstract

Firm mutation was introduced as an intermediate form of mutation testing representing the middle ground between weak and strong mutation. In firm mutation, components may be groups of statements and partial program executions may be considered rather than each separate component execution as in weak mutation or the complete program execution as in strong mutation. Despite its flexibility and its potential for combining the reduced expense of weak mutation with the greater transparency of strong mutation, firm mutation has remained largely unexplored. One of the difficulties with firm mutation is that there has been no obvious systematic basis on which to select the areas of program code as candidates for firm mutation testing. The advent of object-oriented languages has, in a sense, provided a natural solution to this problem. The individual methods that form part of object classes tend to be small but cohesive components that lend themselves ideally to firm mutation. This paper considers such application of firm mutation to Java methods by exploiting the use of Java threads to perform mutant execution. The potential parallelism that this affords is another factor in the cost reduction envisaged.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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. Agrawal, H., DeMillo, R.A., Hathaway, R., Hsu, Wm., Hsu, W., Krauser, E., Martin, R.J., Mathur, A. and Spafford, E., ‘Design of mutant operators for the C programming language’, Technical Report SERC-TR-41P, Software Engineering Research Center, Purdue University (March 1989).

    Google Scholar 

  2. Budd, T.A. and Gopal, A.S., “Program testing by specification mutation”, Computer Languages, 10 (1), 6373 (1985).

    Article  Google Scholar 

  3. Choi, B.J. and Mathur, A.P., “High performance mutation testing”, Journal of Systems and Software, 20(2), 135–152 (Feb. 1993).

    Article  Google Scholar 

  4. Choi, B.J., Mathur, A.P. and Pattison, B., “pMothra: scheduling mutants for execution on a hypercube”, Proc. ACM SIGSOFT ‘89 Third Symp. on Software Testing, Analysis and Verification (TAV3), Key West, FL, U.S.A., ACM Press, pp. 58–65 (Dec. 1989).

    Google Scholar 

  5. DeMillo, R.A., Guindi, D.S., McCracken, W.M., Offutt, A.J. and King, K.N., “An extended overview of the Mothra software testing environment”, Proc. Second Workshop on Software Testing, Verification and Analysis, Banff, Canada, IEEE Computer Society Press, pp. 142–151 (July 1988).

    Google Scholar 

  6. DeMillo, R.A., Krauser, E.W. and Mathur, A.P., “An approach to compiler-integrated software testing”, Technical Report SERC-TR-71-P, Software Engineering Research Center, Purdue University (April 1990).

    Google Scholar 

  7. DeMillo, R.A., Lipton, R.J. and Sayward, F.G., “Hints on test data selection: help for the practicing programmer”, IEEE Computer, 11 (4), 34–41 (April 1978).

    Article  Google Scholar 

  8. Duncan, I.M.M. and Robson, D.J., “Ordered mutation testing”, ACM SigSoft Software Engineering Notes, 15 (2), 29–30 (April 1990).

    Article  Google Scholar 

  9. Duncan, I.M.M. and Robson, D.J., “Parametrized mutation testing”, Software Testing, Verification and Reliability, 1(4), 3–16 (Jan.-March 1992 ).

    Google Scholar 

  10. Fleyshgakker, V.N. and Weiss, S.N., “Efficient mutation analysis: a new approach”, Proc. Int. S.mp. on Software Testing and Analysis (ISSTA ‘84), Seattle, WA, U.S.A., ACM Press, pp. 185–195 (Aug. 1994).

    Google Scholar 

  11. Halewood, K. and Woodward, M.R., “A uniform graphical view of the program construction process: GRIPSE”, Int. Journal of Man-Machine Studies, 38 (5), 805–837 (May 1993).

    Article  Google Scholar 

  12. Hamlet, R.G., “Testing programs with the aid of a compiler”, IEEE Trans. Soft. Eng., 3 (4), 279–290 (July 1977).

    Article  MathSciNet  MATH  Google Scholar 

  13. Howden, W.E., “Weak mutation testing and completeness of test sets”, IEEE Trans. Soft. Eng., 8 (4), 371–379 (July 1982).

    Article  Google Scholar 

  14. Kim, S., Clark, J.A. and McDermid, J.A., “The rigorous generation of Java mutation operators using HAZOP”, Proc. 12 6 Int. Conf. on Software & Systems Engineering and their Applications (ICSSEA ‘89), Paris, France (Dec. 1999).

    Google Scholar 

  15. King, K.N. and Offutt, A.J., “A Fortran language system for mutation-based software testing”, Software — Practice and Experience, 21 (7), 685–718 (July 1991).

    Article  Google Scholar 

  16. Krauser, E.W., Mathur, A.P. and Rego, V.J. “High performance software testing on SIMD machines”, IEEE Trans. Soft. Eng., 17 (5), 403–423 (May 1991).

    Article  Google Scholar 

  17. Mathur, A.P. and Krauser, E.W., “Modeling mutation on a vector processor”, Proc. 10 m Int. Conf. on Software Engineering (ICSE-1 D), Singapore, IEEE Computer Society Press, pp. 154–161 (April 1988).

    Google Scholar 

  18. Mresa, E.S. and Bottaci, L., “Efficiency of mutation operators and selective mutation strategies: an empirical study”, Software Testing, Verification and Reliability, 9 (4), 205–232 (Dec. 1999).

    Article  Google Scholar 

  19. Offutt, A.J. and Lee, S.D., “An empirical evaluation of weak mutation”, IEEE Trans. Soft. Eng., 20 (5), 337–344 (May 1994).

    Article  Google Scholar 

  20. Offutt, A.J., Lee, A., Rothermel, G., Untch, R.H. and Zapf, C., “An experimental determination of sufficient mutant operators”, ACM Trans. on Software Engineering and Methodology, 5 (2), 99–118 (April 1996).

    Article  Google Scholar 

  21. Offutt, A.J., Rothermel, G. and Zapf, C., “An experimental evaluation of selective mutation”, Proc. 15 Int. C.nf. on Software Engineering (ICSE-15), Baltimore, MD, U.S.A., IEEE Computer Society Press, pp. 100–107 (May 1993).

    Google Scholar 

  22. Untch, R., Offutt, A.J. and Harrold, M.J., “Mutation analysis using mutant schemata”, Proc. Int. Symp. on Software Testing and Analysis (ISSTA ‘83), Cambridge, M., U.S.A., ACM Press, pp. 139–148 (June 1993).

    Google Scholar 

  23. Weiss, S.N. and Fleyshgakker, V.N., “Improved serial algorithms for mutation analysis”, Proc. Int. Symp. on Software Testing and Analysis (ISSTA ‘83), Cambridge, MA, U.S.A., ACM Press, pp. 149–158 (June 1993).

    Google Scholar 

  24. Woodward, M.R. and Halewood, K., “From weak to strong, dead or alive? An analysis of some mutation testing issues”, Proc. Second Workshop on Software Testing, Verification and Analysis, Banff, Canada, IEEE Computer Society Press, pp. 152–158 (July 1988).

    Google Scholar 

  25. Woodward, M.R., “Errors in algebraic specifications and an experimental mutation testing tool”, Software Engineering Journal, 8 (4), 211–224 (July 1993).

    Article  Google Scholar 

  26. Yoon, H., Choi, B. and Jeon, J.-O., “Mutation-based inter-class testing”, Proc. 1998 Asia Pacific Soft. Eng. Conf., IEEE Computer Society Press, pp. 174–181 (Dec. 1998).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer Science+Business Media New York

About this chapter

Cite this chapter

Jackson, D., Woodward, M.R. (2001). Parallel Firm Mutation of Java Programs. In: Wong, W.E. (eds) Mutation Testing for the New Century. The Springer International Series on Advances in Database Systems, vol 24. Springer, Boston, MA. https://doi.org/10.1007/978-1-4757-5939-6_10

Download citation

  • DOI: https://doi.org/10.1007/978-1-4757-5939-6_10

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-4888-5

  • Online ISBN: 978-1-4757-5939-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics