Mutation Testing in Evolving Systems: Studying the relevance of mutants to code evolution

12/29/2021
by   Milos Ojdanic, et al.
0

When software evolves, opportunities for introducing faults appear. Therefore, it is important to test the evolved program behaviors during each evolution cycle. We conduct an exploratory study to investigate the properties of commit-relevant mutants, i.e., the test elements of commit-aware mutation testing, by offering a general definition and an experimental approach to identify them. We thus, aim at investigating the prevalence, location, comparative advantages of commit-aware mutation testing over time (i.e., the program evolution) and the predictive power of several commit-related features to understand the essential properties for its best-effort application case. Our approach utilizes the impact of mutants and the effects of one mutant on another in capturing and analyzing the implicit interactions between the changed and unchanged code parts. The study analyses millions of mutants (over 10 million), 288 commits, five (5) different open-source software projects involving over 68,213 CPU days of computation and sets a ground truth where we perform our analysis. Our analysis shows that commit-relevant mutants are located mainly outside of program commit change (81 selection of commit-relevant mutants can reduce the number of mutants by up to 93 significantly more effective and efficient than state-of-the-art baselines. Our analysis of the predictive power of mutants and commit-related features in predicting commit-relevant mutants found that most proxy features do not reliably predict commit-relevant mutants. This empirical study highlights the properties of commit-relevant mutants and demonstrates the importance of identifying and selecting commit-relevant mutants when testing evolving software systems.

READ FULL TEXT

page 21

page 25

page 27

page 32

research
01/29/2023

Specification Inference for Evolving Systems

In this paper, we propose an assertion-based approach to capture softwar...
research
04/22/2021

Predictive Mutation Analysis via Natural Language Channel in Source Code

Mutation analysis can provide valuable insights into both System Under T...
research
12/15/2018

A Large-Scale Study of Call Graph-based Impact Prediction using Mutation Testing

In software engineering, impact analysis involves predicting the softwar...
research
07/23/2018

Assessing Test Case Prioritization on Real Faults and Mutants

Test Case Prioritization (TCP) is an important component of regression t...
research
03/13/2019

Is the Stack Distance Between Test Case and Method Correlated With Test Effectiveness?

Mutation testing is a means to assess the effectiveness of a test suite ...
research
03/12/2021

Sentinel: A Hyper-Heuristic for the Generation of Mutant Reduction Strategies

Mutation testing is an effective approach to evaluate and strengthen sof...
research
12/28/2021

Cerebro: Static Subsuming Mutant Selection

Mutation testing research has indicated that a major part of its applica...

Please sign up or login with your details

Forgot password? Click here to reset