A Learning Algorithm for Change Impact Prediction
Document type :
Communication dans un congrès avec actes
DOI :
Title :
A Learning Algorithm for Change Impact Prediction
Author(s) :
Musco, Vincenzo [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Carette, Antonin [Auteur]
Université de Lille, Sciences et Technologies
Monperrus, Martin [Auteur]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Preux, Philippe [Auteur]
Sequential Learning [SEQUEL]
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 [CRIStAL]
Self-adaptation for distributed services and large software systems [SPIRALS]
Carette, Antonin [Auteur]
Université de Lille, Sciences et Technologies
Monperrus, Martin [Auteur]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Preux, Philippe [Auteur]
Sequential Learning [SEQUEL]
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 [CRIStAL]
Conference title :
5th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering
City :
Austin
Country :
Etats-Unis d'Amérique
Start date of the conference :
2016-05-17
HAL domain(s) :
Informatique [cs]
Informatique [cs]/Génie logiciel [cs.SE]
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
Change impact analysis (CIA) consists in predicting the impact of a code change in a software application. In this paper, the artifacts that are considered for CIA are methods of object-oriented software; the change under ...
Show more >Change impact analysis (CIA) consists in predicting the impact of a code change in a software application. In this paper, the artifacts that are considered for CIA 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 LCIP, a learning algorithm that learns from past impacts to predict future impacts. To evaluate LCIP, we consider Java software applications that are strongly tested. We simulate 6000 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 74%, a recall of 85%, corresponding to a F-score of 64%. This shows that taking a learning perspective on change impact analysis let us achieve good precision and recall in change impact analysis.Show less >
Show more >Change impact analysis (CIA) consists in predicting the impact of a code change in a software application. In this paper, the artifacts that are considered for CIA 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 LCIP, a learning algorithm that learns from past impacts to predict future impacts. To evaluate LCIP, we consider Java software applications that are strongly tested. We simulate 6000 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 74%, a recall of 85%, corresponding to a F-score of 64%. This shows that taking a learning perspective on change impact analysis let us achieve good precision and recall in change impact analysis.Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-01279620/document
- Open access
- Access the document
- http://arxiv.org/pdf/1512.07435
- Open access
- Access the document
- https://hal.inria.fr/hal-01279620/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01279620/document
- Open access
- Access the document
- document
- Open access
- Access the document
- main.pdf
- Open access
- Access the document
- 1512.07435
- Open access
- Access the document
- document
- Open access
- Access the document
- main.pdf
- Open access
- Access the document