Mutation testing is known as a very useful technique for measuring the effectiveness of a test data set and finding weak points of the test set. Mutation testing produces huge number of programs, called mutants, that are almost identical to the original program except only one statement. Equivalent mutants are mutants which result same output to the original program with any test data. Equivalent mutants are produced naturally in mutation testing process, and equivalent mutants are not detected by any test data. Therefore, an equivalent mutant degrades the effectiveness of mutation testing. Elimination of equivalent mutants is a very important problem in mutation testing.
In this paper, we proposed three kinds of methods for detecting class-level equivalent mutants. These methods judge the equivalency of mutants through structural informations and behavioral information of the original program and mutants using static analysis. And we showed the effectiveness of our approach through experiments specifically designed for this research. We found that our approach can detect not a few of equivalent mutants and expected that the cost of mutation testing can be saved considerably.