ABSTRACT
Mutation testing introduces artificial defects to measure the adequacy of testing. In case candidate tests can distinguish the behaviour of mutants from that of the original program, they are considered of good quality -- otherwise developers need to design new tests. While, this method has been shown to be effective, industry-scale code challenges its applicability due to the sheer number of mutants and test executions it requires. In this paper we present PIT, a practical mutation testing tool for Java, applicable on real-world codebases. PIT is fast since it operates on bytecode and optimises mutant executions. It is also robust and well integrated with development tools, as it can be invoked through a command line interface, Ant or Maven. PIT is also open source and hence, publicly available at \url{http://pitest.org/}
- P. Amman. Transforming mutation testing from the technology of the future into the technology of the present, https://sites.google.com/site/mutationworkshop2015/ program/mutationkeynote.pdf.Google Scholar
- J. H. Andrews, L. C. Briand, Y. Labiche, and A. S. Namin. Using mutation analysis for assessing and comparing testing coverage criteria. TSE, 32(8). Google ScholarDigital Library
- M. Delahaye and L. du Bousquet. Selecting a software engineering tool: lessons learnt from mutation analysis. SPE, 45(7). Google ScholarDigital Library
- Y. Jia and M. Harman. An analysis and survey of the development of mutation testing. TSE, 37(5). Google ScholarDigital Library
- R. Just. The major mutation framework: efficient and scalable mutation analysis for java. In ISSTA. Google ScholarDigital Library
- T. Laurent, A. Ventresque, M. Papadakis, C. Henard, and Y. L. Traon. Assessing and improving the mutation testing practice of PIT. CoRR, abs/1601.02351, 2016.Google Scholar
- Y. Ma, J. Offutt, and Y. R. Kwon. Mujava: a mutation system for java. In ICSE. Google ScholarDigital Library
- A. S. Namin and S. Kakarla. The use of mutation in testing experiments and its sensitivity to external threats. In ISSTA. Google ScholarDigital Library
- A. J. Offutt, A. Lee, G. Rothermel, R. H. Untch, and C. Zapf. An Experimental Determination of Sufficient Mutant Operators. TOSEM, 5, 1996. Google ScholarDigital Library
- M. Papadakis, C. Henard, M. Harman, Y. Jia, and Y. L. Traon. Threats to the validity of mutation-based test assessment. In ISSTA, 2016. Google ScholarDigital Library
Index Terms
- PIT: a practical mutation testing tool for Java (demo)
Recommendations
Faster mutation testing inspired by test prioritization and reduction
ISSTA 2013: Proceedings of the 2013 International Symposium on Software Testing and AnalysisMutation testing is a well-known but costly approach for determining test adequacy. The central idea behind the approach is to generate mutants, which are small syntactic transformations of the program under test, and then to measure for a given test ...
Mitigating the effects of flaky tests on mutation testing
ISSTA 2019: Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and AnalysisMutation testing is widely used in research as a metric for evaluating the quality of test suites. Mutation testing runs the test suite on generated mutants (variants of the code under test), where a test suite kills a mutant if any of the tests fail ...
JDAMA: Java database application mutation analyser
Database application programs are ubiquitous; hence, good techniques for testing them are needed. Several approaches to testing database applications have been proposed recently, including test generation techniques and adequacy criteria. Tuya et al. ...
Comments