z-logo
Premium
Using compiler optimization techniques to detect equivalent mutants
Author(s) -
Offutt A. Jefferson,
Craft W. Michael
Publication year - 1994
Publication title -
software testing, verification and reliability
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.216
H-Index - 49
eISSN - 1099-1689
pISSN - 0960-0833
DOI - 10.1002/stvr.4370040303
Subject(s) - computer science , compiler , mutation testing , process (computing) , mutation , task (project management) , software , optimizing compiler , programming language , algorithm , engineering , biochemistry , chemistry , systems engineering , gene
Mutation analysis is a software testing technique that requires the tester to generate test data that will find specific, well‐defined errors. Mutation testing executes many slightly differing versions, called mutants , of the same program to evaluate the quality of the data used to test the program. Although these mutants are generated and executed efficiently by automated methods, many of the mutants are functionally equivalent to the original program and are not useful for testing. Recognizing and eliminating equivalent mutants is currently done by hand, a time‐consuming and arduous task. This problem is currently a major obstacle to the practical application of mutation testing. This paper presents extensions to previous work in detecting equivalent mutants; specifically, algorithms for determining several classes of equivalent mutants are presented, an implementation of these algorithms is discussed, and results from using this implementation are presented. These algorithms are based on data flow analysis and six compiler optimization techniques. Each of these techniques is described together with how they are used to detect equivalent mutants. The design of the tool and some experimental results using it are also presented.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here