The paper presents a model-driven approach to mutation testing of Java bytecode, called Model Mutation Testing (MMT). The key points are:
MMT uses a model-driven approach to implement mutation operators, automatically apply them, run the test suite on the mutants, and summarize the errors caused by the mutations that were missed by the test suite.
MMT provides an Eclipse plugin that integrates with the Java Development Tools and allows users to control the set of mutation operators and the scope of mutations.
MMT includes a wide range of mutation operators, including standard ones as well as advanced operators that modify object-oriented structures, Java-specific properties, and method calls of APIs. In total, MMT provides 68 mutation operators.
Compared to other mutation testing tools for Java bytecode, MMT is the only one that supports such advanced mutation operators. This enables generating a more diverse set of mutants, which can reveal weaknesses in test suites that are not detected by basic mutation operators.
The model-driven approach, based on the Mod-BEAM metamodel for Java bytecode, allows mutation operators to be specified as model transformations. This makes them more readable and easier to extend than low-level bytecode manipulations.
The paper demonstrates the installation and usage of MMT, as well as the process of defining custom mutation operators using the Henshin model transformation language.
To Another Language
from source content
arxiv.org
Key Insights Distilled From
by Christoph Bo... at arxiv.org 04-23-2024
https://arxiv.org/pdf/2404.14097.pdfDeeper Inquiries