Abstract
In mutation analysis, a mutant of a software artifact, either a program or a model, is said equivalent if it leaves the artifact
meaning unchanged. Equivalent mutants are usually seen as an inconvenience and they reduce the applicability of mutation analysis.
Objective: Instead, we here claim that equivalent mutants can be useful to define, detect, and remove static anomalies, i.e.,
deficiencies of given qualities: If an equivalent mutant has a better quality value than the original artifact, then an anomaly
has been found and removed. Method: We present a process for detecting static anomalies based on mutation, equivalence checking,
and quality measurement. Results: Our proposal and the originating technique are applicable to different kinds of software
artifacts. We present anomalies and conduct several experiments in different contexts, at specification, design, and implementation
level. Conclusion: We claim that in mutation analysis a new research direction should be followed, in which equivalent mutants
and operators generating them are welcome.
[download the pdf file] [DOI] [url]