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

12/15/2018
by   Vincenzo Musco, et al.
0

In software engineering, impact analysis involves predicting the software elements (e.g., modules, classes, methods) potentially impacted by a change in the source code. Impact analysis is required to optimize the testing effort. In this paper, we propose an evaluation technique to predict impact propagation. Based on 10 open-source Java projects and 5 classical mutation operators, we create 17,000 mutants and study how the error they introduce propagates. This evaluation technique enables us to analyze impact prediction based on four types of call graph. Our results show that graph sophistication increases the completeness of impact prediction. However, and surprisingly to us, the most basic call graph gives the best trade-off between precision and recall for impact prediction.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/25/2020

Open-source Defect Injection Benchmark Testbed for the Evaluation of Testing

A natural method to evaluate the effectiveness of a testing technique is...
research
04/08/2020

Do Null-Type Mutation Operators Help Prevent Null-Type Faults?

The null-type is a major source of faults in Java programs, and its over...
research
05/26/2021

The Impact of Dormant Defects on Defect Prediction: a Study of 19 Apache Projects

Defect prediction models can be beneficial to prioritize testing, analys...
research
12/29/2021

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

When software evolves, opportunities for introducing faults appear. Ther...
research
11/13/2021

Refactoring for Reuse: An Empirical Study

Refactoring is the de-facto practice to optimize software health. While ...
research
11/02/2020

Employing Partial Least Squares Regression with Discriminant Analysis for Bug Prediction

Forecasting defect proneness of source code has long been a major resear...
research
07/20/2019

Evaluating Heuristics for Iterative Impact Analysis

Iterative impact analysis (IIA) is a process that allows developers to e...

Please sign up or login with your details

Forgot password? Click here to reset