arXiv · 2404.14097
MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration
Abstract
Mutation testing is an approach to check the robustness of test suites. The program code is slightly changed by mutations to inject errors. A test suite is robust enough if it finds such errors. Tools for mutation testing usually integrate sets of mutation operators such as, for example, swapping arithmetic operators; modern tools typically work with compiled code such as Java bytecode. In this case, the mutations must be defined in such a way that the mutated program still can be loaded and executed. The results of mutation tests depend directly on the possible mutations. More advanced mutations and even domain-specific mutations can pose another challenge to the test suite. Since extending the classical approaches to more complex mutations is not well supported and is difficult, we propose a model-driven approach where mutations of Java bytecode can be flexibly defined by model transformation. The corresponding tool called MMT has been extended with advanced mutation operators for modifying object-oriented structures, Java-specific properties and method calls of APIs, making it the only mutation testing tool for Java bytecode that supports such mutations.
Explore related subjects
Keep this discovery
Christoph Bockisch, Gabriele Taentzer, Daniel Neufeld. 2024-04-22. MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration. https://arxiv.org/abs/2404.14097
Cite the original work for its findings. Save a collection to share your selection of sources.