Medusa: Mutant Equivalence Detection Using Satisfiability Analysis
Benjamin Kushigian, Amit Kumar Rawat, René Just · 2019
This paper introduces Medusa, a framework for reasoning about the equivalence of first-order mutants in Java programs. Since the problem of detecting equivalent mutants is undecidable in general, even when restricted to first-order mutants, Medusa focuses on a subset of Java that can be modeled as SMT solver constraints. This paper describes the key insights behind Medusa and provides details about its concepts and components, in particular constraint forking-a novel approach that leverages structural similarities between mutants to improve its efficiency. This paper further reports on a preliminary evaluation and outlines several optimizations that leverage the first-order mutant property to further improve Medusa's applicability and efficiency.