MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration
<|reference_start|>MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration: 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.<|reference_end|>
@article{bockisch2024mmt:,
    title={MMT: Mutation Testing of Java Bytecode with Model Transformation -- An
  Illustrative Demonstration},
    author={Christoph Bockisch, Gabriele Taentzer, Daniel Neufeld},
    journal={arXiv preprint arXiv:2404.14097},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.14097},
    primaryClass={cs.SE}
}