Parallel firm mutation of Java programs

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 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 basic 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 afros is another factor in the cost reduction envisaged.

[1]  Leonardo Bottaci,et al.  Efficiency of mutation operators and selective mutation strategies: an empirical study , 1999 .

[2]  R.A. DeMillo,et al.  An extended overview of the Mothra software testing environment , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[3]  Timothy A. Budd,et al.  Program Testing by Specification Mutation , 1985, Comput. Lang..

[4]  Vernon Rego,et al.  High Performance Software Testing on SIMD Machines , 1991, IEEE Trans. Software Eng..

[5]  A. Jefferson Offutt,et al.  An Empirical Evaluation of Weak Mutation , 1994, IEEE Trans. Software Eng..

[6]  Richard G. Hamlet,et al.  Testing Programs with the Aid of a Compiler , 1977, IEEE Transactions on Software Engineering.

[7]  M. R. Woodward,et al.  Errors in algebraic specifications and an experimental mutation testing tool , 1993, Softw. Eng. J..

[8]  Vladimir N. Fleyshgakker,et al.  Improved serial algorithms for mutation analysis , 1993, ISSTA '93.

[9]  I. M. M. Duncan,et al.  Parametrized Mutation Testing , 1992, Softw. Test. Verification Reliab..

[10]  Byoungju Choi,et al.  High-performance mutation testing , 1993, J. Syst. Softw..

[11]  Martin R. Woodward,et al.  A Uniform Graphical View of the Program Construction Process: GRIPSE , 1993, Int. J. Man Mach. Stud..

[12]  Aditya P. Mathur,et al.  Modeling mutation on a vector processor , 1988, ICSE '88.

[13]  A. Jefferson Offutt,et al.  Mutation analysis using mutant schemata , 1993, ISSTA '93.

[14]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[15]  I. M. M. Duncan,et al.  Ordered mutation testing , 1990, SOEN.

[16]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[17]  Vladimir N. Fleyshgakker,et al.  Efficient mutation analysis: a new approach , 1994, ISSTA '94.

[18]  M. R. Woodward,et al.  From weak to strong, dead or alive? an analysis of some mutation testing issues , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[19]  Byoungju Choi,et al.  Mutation-based inter-class testing , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[20]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[21]  William E. Howden,et al.  Weak Mutation Testing and Completeness of Test Sets , 1982, IEEE Transactions on Software Engineering.

[22]  Gregg Rothermel,et al.  An experimental evaluation of selective mutation , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[23]  Aditya P. Mathur,et al.  PMothra: scheduling mutants for execution on a hypercube , 1989 .