Mutation Analysis with Execution Taints

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Gopinath, Rahul, Goerz, Philipp
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866929262632632320
author Gopinath, Rahul
Goerz, Philipp
author_facet Gopinath, Rahul
Goerz, Philipp
contents Mutation analysis is one of the most effective, but costly means of assessing the ability of software test suites to prevent bugs. Traditional mutation analysis involves producing and evaluating syntactic variants of the original to check whether the test suite under evaluation is capable of distinguishing between the variant and the original in terms of behavior. Evaluating each mutant separately means a large amount of redundant computation, both between the original program and mutants, and also between different mutants. Previous work explored numerous means of removing redundancy. However, some amount of redundancy has remained especially in the post-mutation phase. In this paper, we propose execution taints--A novel technique that repurposes dynamic data-flow taints for mutation analysis. Our technique is the only technique that can remove the redundancy in post-mutation phase, achieving better efficiency in mutation analysis. We further leverage memoization to eliminate redundant execution between program variants.
format Preprint
id arxiv_https___arxiv_org_abs_2403_01146
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Mutation Analysis with Execution Taints
Gopinath, Rahul
Goerz, Philipp
Software Engineering
D.2.5
Mutation analysis is one of the most effective, but costly means of assessing the ability of software test suites to prevent bugs. Traditional mutation analysis involves producing and evaluating syntactic variants of the original to check whether the test suite under evaluation is capable of distinguishing between the variant and the original in terms of behavior. Evaluating each mutant separately means a large amount of redundant computation, both between the original program and mutants, and also between different mutants. Previous work explored numerous means of removing redundancy. However, some amount of redundancy has remained especially in the post-mutation phase. In this paper, we propose execution taints--A novel technique that repurposes dynamic data-flow taints for mutation analysis. Our technique is the only technique that can remove the redundancy in post-mutation phase, achieving better efficiency in mutation analysis. We further leverage memoization to eliminate redundant execution between program variants.
title Mutation Analysis with Execution Taints
topic Software Engineering
D.2.5
url https://arxiv.org/abs/2403.01146