2017
DOI: 10.1145/3170492.3136053
|View full text |Cite
|
Sign up to set email alerts
|

Avoiding useless mutants

Abstract: Mutation testing is a program-transformation technique that injects artificial bugs to check whether the existing test suite can detect them. However, the costs of using mutation testing are usually high, hindering its use in industry. Useless mutants (equivalent and duplicated) contribute to increase costs. Previous research has focused mainly on detecting useless mutants only after they are generated and compiled. In this paper, we introduce a strategy to help developers with deriving rules to avoid the gene… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0
1

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 12 publications
(16 citation statements)
references
References 22 publications
0
15
0
1
Order By: Relevance
“…Therefore, as done in previous work [106], we assume all mutants not killed as possibly not-equivalent. Previous work estimated 20% of mutants generated by PIT to be equivalent [29]: this might lead to underestimate the mutation scores computed in our work. However, since this study focuses more on using the mutation score to discern effective from non-effective tests, rather than predicting its exact value, we do not believe that this would drastically change our results.…”
Section: Threats To Validitymentioning
confidence: 70%
See 1 more Smart Citation
“…Therefore, as done in previous work [106], we assume all mutants not killed as possibly not-equivalent. Previous work estimated 20% of mutants generated by PIT to be equivalent [29]: this might lead to underestimate the mutation scores computed in our work. However, since this study focuses more on using the mutation score to discern effective from non-effective tests, rather than predicting its exact value, we do not believe that this would drastically change our results.…”
Section: Threats To Validitymentioning
confidence: 70%
“…To compute the mutation score, we rely on PITEST 1 (or PIT). This choice is due to the fact that PIT was found to be the most mature publicly available mutation testing tool [28] and has been shown to limit the generation of equivalent mutants [29]. Moreover, it has been employed by most studies concerning mutation testing in the last years [4], [30], [31].…”
Section: Dependent Variablementioning
confidence: 99%
“…For instance, MuJava has 19 traditional operators which generate a large quantity of mutants and many of these mutants are redundant or duplicate of each other. Fernandes et al study showed that 34.3% of mutants generated by MuJava are duplicates and 18.6% of generated mutants are equivalents. They designed 37 transformation rules for 10 MuJava operators to eliminate useless mutants.…”
Section: Methodsmentioning
confidence: 99%
“…However, some mutants are equivalent and do not contribute to the test assessment process because they have the same behavior as the original program [Budd and Angluin 1982, Jia and Harman 2011, Madeyski et al 2014. So, these mutants are useless [Fernandes et al 2017]. Listing 1 illustrates one equivalent mutant.…”
Section: Introductionmentioning
confidence: 99%
“…We encode a theory of equivalence in Z3 and use its theorem prover [de Moura and Bjørner 2008] to automatically identify equivalent mutants (Section 2). Our technique is lightweight, we do not need to create mutants, compile them, create test suites, and execute them, as previous works [Fernandes et al 2017]. Our technique automatically identifies and prove 13 equivalences for seven mutation targets.…”
Section: Introductionmentioning
confidence: 99%