Abstract

Mutation testing is a technique for evaluating the quality of a test suite. However, the costly computation from a large number of mutants affects the practical application of mutation testing, and reducing the number of mutants is reasonably an efficient way for mutation testing. We propose a new method for reducing mutants by analyzing dominance between statements in the program under test. The proposed method only selects the mutants generated from the nondominated statements, and the mutants generated from the dominated statements are reduced. After applying the proposed method to nine programs, the experimental results show that our method reduces over 75% mutants and well maintains the mutation adequacy.

Highlights

  • Mutation testing is a fault-oriented testing technique first proposed by Hamlet [1] and DeMillo et al [2]

  • The program under test is mutated according to the given syntax rules, and each mutated version is a mutant

  • When a mutant differs from its original program in their outputs after executing against the same test case, the mutant is said killed by the test case

Read more

Summary

Introduction

Mutation testing is a fault-oriented testing technique first proposed by Hamlet [1] and DeMillo et al [2]. The program under test is mutated according to the given syntax rules (mutation operators), and each mutated version is a mutant. The mutants that function equal to its original program and cannot be killed by any test case are equivalent. Mutation score which evaluates the adequacy of a given test suite is calculated by the ratio of the number of killed mutants to the number of nonequivalent ones. A large number of mutants are generated from the program under test result in a high cost, which hinders the mutation testing from wide application. According to a recent survey [8], a large number of mutants, still today, are considered as one of the most important problems of mutation testing

Objectives
Methods
Results

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.