Cargando…

Mining version history to predict the class instability

While most of the existing class stability assessors just rely on structural information retrieved from a desired source code snapshot. However, class stability is intrinsically characterized by the evolution of a number of dependencies and change propagation factors which aid to promote the ripple...

Descripción completa

Detalles Bibliográficos
Autores principales: Hussain, Shahid, Afzal, Humaira, Mufti, Muhammad Rafiq, Imran, Muhammad, Ali, Amjad, Ahmad, Bashir
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6746542/
https://www.ncbi.nlm.nih.gov/pubmed/31525204
http://dx.doi.org/10.1371/journal.pone.0221780
_version_ 1783451709794680832
author Hussain, Shahid
Afzal, Humaira
Mufti, Muhammad Rafiq
Imran, Muhammad
Ali, Amjad
Ahmad, Bashir
author_facet Hussain, Shahid
Afzal, Humaira
Mufti, Muhammad Rafiq
Imran, Muhammad
Ali, Amjad
Ahmad, Bashir
author_sort Hussain, Shahid
collection PubMed
description While most of the existing class stability assessors just rely on structural information retrieved from a desired source code snapshot. However, class stability is intrinsically characterized by the evolution of a number of dependencies and change propagation factors which aid to promote the ripple effect. Identification of classes prone to ripple effect (instable classes) through mining the version history of change propagation factors can aid developers to reduce the efforts needed to maintain and evolve the system. We propose Historical Information for Class Stability Prediction (HICSP), an approach to exploit change history information to predict the instable classes based on its correlation with change propagation factors. Subsequently, we performed two empirical studies. In the first study, we evaluate the HICSP on the version history of 10 open source projects. Subsequently, in the second replicated study, we evaluate the effectiveness of HICSP by tuning the parameters of its stability assessors. We observed the 4 to 16 percent improvement in term of F-measure value to predict the instable classes through HICSP as compared to existing class stability assessors. The promising results indicate that HICSP is able to identify instable classes and can aid developers in their decision making.
format Online
Article
Text
id pubmed-6746542
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-67465422019-09-27 Mining version history to predict the class instability Hussain, Shahid Afzal, Humaira Mufti, Muhammad Rafiq Imran, Muhammad Ali, Amjad Ahmad, Bashir PLoS One Research Article While most of the existing class stability assessors just rely on structural information retrieved from a desired source code snapshot. However, class stability is intrinsically characterized by the evolution of a number of dependencies and change propagation factors which aid to promote the ripple effect. Identification of classes prone to ripple effect (instable classes) through mining the version history of change propagation factors can aid developers to reduce the efforts needed to maintain and evolve the system. We propose Historical Information for Class Stability Prediction (HICSP), an approach to exploit change history information to predict the instable classes based on its correlation with change propagation factors. Subsequently, we performed two empirical studies. In the first study, we evaluate the HICSP on the version history of 10 open source projects. Subsequently, in the second replicated study, we evaluate the effectiveness of HICSP by tuning the parameters of its stability assessors. We observed the 4 to 16 percent improvement in term of F-measure value to predict the instable classes through HICSP as compared to existing class stability assessors. The promising results indicate that HICSP is able to identify instable classes and can aid developers in their decision making. Public Library of Science 2019-09-16 /pmc/articles/PMC6746542/ /pubmed/31525204 http://dx.doi.org/10.1371/journal.pone.0221780 Text en © 2019 Hussain et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Hussain, Shahid
Afzal, Humaira
Mufti, Muhammad Rafiq
Imran, Muhammad
Ali, Amjad
Ahmad, Bashir
Mining version history to predict the class instability
title Mining version history to predict the class instability
title_full Mining version history to predict the class instability
title_fullStr Mining version history to predict the class instability
title_full_unstemmed Mining version history to predict the class instability
title_short Mining version history to predict the class instability
title_sort mining version history to predict the class instability
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6746542/
https://www.ncbi.nlm.nih.gov/pubmed/31525204
http://dx.doi.org/10.1371/journal.pone.0221780
work_keys_str_mv AT hussainshahid miningversionhistorytopredicttheclassinstability
AT afzalhumaira miningversionhistorytopredicttheclassinstability
AT muftimuhammadrafiq miningversionhistorytopredicttheclassinstability
AT imranmuhammad miningversionhistorytopredicttheclassinstability
AT aliamjad miningversionhistorytopredicttheclassinstability
AT ahmadbashir miningversionhistorytopredicttheclassinstability