A Learning Algorithm for Change Impact Prediction: Experimentation on 7 Java Applications

Vincenzo Musco 1, 2 Antonin Carette 3 Martin Monperrus 1 Philippe Preux 2
1 SPIRALS - Self-adaptation for distributed services and large software systems
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
2 SEQUEL - Sequential Learning
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe, LAGIS - Laboratoire d'Automatique, Génie Informatique et Signal
Abstract : Change impact analysis consists in predicting the impact of a code change in a software application. In this paper, we take a learning perspective on change impact analysis and consider the problem formulated as follows. The artifacts that are considered are methods of object-oriented software; the change under study is a change in the code of the method, the impact is the test methods that fail because of the change that has been performed. We propose an algorithm, called LCIP that learns from past impacts to predict future impacts. To evaluate our system, we consider 7 Java software applications totaling 214,000+ lines of code. We simulate 17574 changes and their actual impact through code mutations, as done in mutation testing. We find that LCIP can predict the impact with a precision of 69%, a recall of 79%, corresponding to a F-Score of 55%.
Document type :
Preprints, Working Papers, ...
Complete list of metadatas

https://hal.archives-ouvertes.fr/hal-01248241
Contributor : Martin Monperrus <>
Submitted on : Thursday, December 24, 2015 - 10:15:35 AM
Last modification on : Friday, March 22, 2019 - 1:34:45 AM

Links full text

Identifiers

  • HAL Id : hal-01248241, version 1
  • ARXIV : 1512.07435

Citation

Vincenzo Musco, Antonin Carette, Martin Monperrus, Philippe Preux. A Learning Algorithm for Change Impact Prediction: Experimentation on 7 Java Applications. 2015. ⟨hal-01248241⟩

Share

Metrics

Record views

757