MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Bockisch, Christoph, Taentzer, Gabriele, Neufeld, Daniel
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910417742200832
author Bockisch, Christoph
Taentzer, Gabriele
Neufeld, Daniel
author_facet Bockisch, Christoph
Taentzer, Gabriele
Neufeld, Daniel
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2404_14097
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration
Bockisch, Christoph
Taentzer, Gabriele
Neufeld, Daniel
Software Engineering
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.
title MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration
topic Software Engineering
url https://arxiv.org/abs/2404.14097