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

**Authors:** Vincenzo Musco, Martin Monperrus, Philippe Preux

arXiv: 1812.06286 · 2024-11-14

## TL;DR

This study evaluates impact prediction in software engineering using mutation testing and call graphs, revealing that simpler call graphs often outperform more complex ones in balancing precision and recall.

## Contribution

It introduces an evaluation technique for impact prediction based on mutation testing and compares different call graph types in this context.

## Key findings

- Simpler call graphs often provide the best impact prediction trade-off.
- Graph sophistication improves impact prediction completeness.
- Mutation testing with 17,000 mutants effectively evaluates impact propagation.

## Abstract

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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1812.06286/full.md

## Figures

3 figures with captions in the complete paper: https://tomesphere.com/paper/1812.06286/full.md

## References

33 references — full list in the complete paper: https://tomesphere.com/paper/1812.06286/full.md

---
Source: https://tomesphere.com/paper/1812.06286