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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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).
Budd, T.A. and Gopal, A.S., “Program testing by specification mutation”, Computer Languages, 10 (1), 6373 (1985).
Choi, B.J. and Mathur, A.P., “High performance mutation testing”, Journal of Systems and Software, 20(2), 135–152 (Feb. 1993).
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).
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).
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).
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).
Duncan, I.M.M. and Robson, D.J., “Ordered mutation testing”, ACM SigSoft Software Engineering Notes, 15 (2), 29–30 (April 1990).
Duncan, I.M.M. and Robson, D.J., “Parametrized mutation testing”, Software Testing, Verification and Reliability, 1(4), 3–16 (Jan.-March 1992 ).
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).
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).
Hamlet, R.G., “Testing programs with the aid of a compiler”, IEEE Trans. Soft. Eng., 3 (4), 279–290 (July 1977).
Howden, W.E., “Weak mutation testing and completeness of test sets”, IEEE Trans. Soft. Eng., 8 (4), 371–379 (July 1982).
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).
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).
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).
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).
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).
Offutt, A.J. and Lee, S.D., “An empirical evaluation of weak mutation”, IEEE Trans. Soft. Eng., 20 (5), 337–344 (May 1994).
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).
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).
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).
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).
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).
Woodward, M.R., “Errors in algebraic specifications and an experimental mutation testing tool”, Software Engineering Journal, 8 (4), 211–224 (July 1993).
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).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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