A large-scale study of call graph-based impact prediction using mutation testing

  • Vincenzo Musco
  • , Martin Monperrus
  • , Philippe Preux

Research output: Contribution to journalArticlepeer-review

20 Scopus citations

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.

Original languageEnglish (US)
Pages (from-to)921-950
Number of pages30
JournalSoftware Quality Journal
Volume25
Issue number3
DOIs
StatePublished - Sep 1 2017

All Science Journal Classification (ASJC) codes

  • Software
  • Safety, Risk, Reliability and Quality

Keywords

  • Call graphs
  • Change impact analysis
  • Mutation testing

Fingerprint

Dive into the research topics of 'A large-scale study of call graph-based impact prediction using mutation testing'. Together they form a unique fingerprint.

Cite this