RMIT University
Browse

A path-aware approach to mutant reduction in mutation testing

Download (4.53 MB)
journal contribution
posted on 2024-11-23, 09:48 authored by Chang-ai Sun, Feifei Xue, Huai Liu, Xiangyu Zhang
Context: Mutation testing, which systematically generates a set of mutants by seeding various faults into the base program under test, is a popular technique for evaluating the effectiveness of a testing method. However, it normally requires the execution of a large amount of mutants and thus incurs a high cost. Objective: A common way to decrease the cost of mutation testing is mutant reduction, which selects a subset of representative mutants. In this paper, we propose a new mutant reduction approach from the perspective of program structure. Method: Our approach attempts to explore path information of the program under test, and select mutants that are as diverse as possible with respect to the paths they cover. We define two path-aware heuristic rules, namely module-depth and loop-depth rules, and combine them with statement- and operator-based mutation selection to develop four mutant reduction strategies. Results: We evaluated the cost-effectiveness of our mutant reduction strategies against random mutant selection on 11 real-life C programs with varying sizes and sampling ratios. Our empirical studies show that two of our mutant reduction strategies, which primarily rely on the path-aware heuristic rules, are more effective and systematic than pure random mutant selection strategy in terms of selecting more representative mutants. In addition, among all four strategies, the one giving loop-depth the highest priority has the highest effectiveness. Conclusion: In general, our path-aware approach can reduce the number of mutants without jeopardizing its effectiveness, and thus significantly enhance the overall cost-effectiveness of mutation testing. Our approach is particularly useful for the mutation testing on large-scale complex programs that normally involve a huge amount of mutants with diverse fault characteristics.

History

Related Materials

  1. 1.
    DOI - Is published in 10.1016/j.infsof.2016.02.006
  2. 2.
    ISSN - Is published in 09505849

Journal

Information and Software Technology

Volume

81

Start page

65

End page

81

Total pages

17

Publisher

Elsevier

Place published

Netherlands

Language

English

Copyright

© 2016 Elsevier B.V. All rights reserved

Notes

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Former Identifier

2006060229

Esploro creation date

2020-06-22

Fedora creation date

2016-03-23

Open access

  • Yes

Usage metrics

    Scholarly Works

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC