Title: Detecting Equivalent Mutants Using Symbolic Computation

Year of Publication: Nov - 2014
Page Numbers: 6-11
Authors: Takaya Ueshiba, Hirohide Haga
Conference Name: The International Conference on Electrical, Electronics, Computer Engineering and their Applications (EECEA2014)
- Malaysia


This paper proposes a method to automatically detect equivalent mutants using symbolic computation. Mutation analysis is an evaluation method of the software test cases set quality. In mutation analysis, mutant programs are generated by intentionally embedding bugs in the original program to evaluate the quality of the test cases set by determining whether bugs are detected by it. However, equivalent mutant programs, which generate exactly the same output as their original program, disturb the accurate assessment of a test cases set. To precisely evaluate the quality of the test set, we must remove equivalent mutants. In this paper, symbolic computation is adopted to detect equivalent mutants. Symbolic computation executes a given program by providing symbolic values instead of concrete values, such as numbers. The result of symbolic computation is a set of a pair of expressions: a symbolic value and a path condition, both of which may contain symbols. Since the output of equivalent mutants is identical to its original for any input, a mutant is proved to be an equivalent mutant if its symbolic output is identical to that of the original. Our proposed system is designed for Java programming language. First, the system converts an original and its mutants written in Java programming language to JavaML, a markup language for Java. Then both of the programs represented in JavaML are executed symbolically, and outputs are generated for arbitrary inputs. If the mutant's output is equivalent to that of the original, the system determines that the mutant is an equivalent mutant. Evaluation experiments proved that our proposed method detects more equivalent mutants than existing methods.