SESep 14, 2017

Empirical Evaluation of Mutation-based Test Prioritization Techniques

arXiv:1709.04631v253 citations
Originality Incremental advance
AI Analysis

This work addresses software testing efficiency for developers, but it is incremental as it builds on existing mutation-based methods.

The paper tackles the problem of test case prioritization by combining mutation-based and diversity-based approaches, evaluating them on 352 real faults and 553,477 test cases, and finds no single dominant technique across all faults.

We propose a new test case prioritization technique that combines both mutation-based and diversity-based approaches. Our diversity-aware mutation-based technique relies on the notion of mutant distinguishment, which aims to distinguish one mutant's behavior from another, rather than from the original program. We empirically investigate the relative cost and effectiveness of the mutation-based prioritization techniques (i.e., using both the traditional mutant kill and the proposed mutant distinguishment) with 352 real faults and 553,477 developer-written test cases. The empirical evaluation considers both the traditional and the diversity-aware mutation criteria in various settings: single-objective greedy, hybrid, and multi-objective optimization. The results show that there is no single dominant technique across all the studied faults. To this end, \rev{we we show when and the reason why each one of the mutation-based prioritization criteria performs poorly, using a graphical model called Mutant Distinguishment Graph (MDG) that demonstrates the distribution of the fault detecting test cases with respect to mutant kills and distinguishment.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes