Using contextual information to predict co-changes

Background: Co-change prediction makes developers aware of which artifacts will change together with the artifact they are working on. In the past, researchers relied on structural analysis to build prediction models. More recently, hybrid approaches relying on historical information and textual ana...

Full description

Saved in:
Bibliographic Details
Main Authors: WIESE, Igor Scaliante, RÉ, Reginaldo, STEINMACHER, Igor, KURODA, Rodrigo Takashi, OLIVA, Gustavo A., TREUDE, Christoph, GEROSA, Marco Aurélio
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8798
https://ink.library.smu.edu.sg/context/sis_research/article/9801/viewcontent/jss17.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9801
record_format dspace
spelling sg-smu-ink.sis_research-98012024-05-30T07:58:47Z Using contextual information to predict co-changes WIESE, Igor Scaliante RÉ, Reginaldo STEINMACHER, Igor KURODA, Rodrigo Takashi OLIVA, Gustavo A. TREUDE, Christoph GEROSA, Marco Aurélio Background: Co-change prediction makes developers aware of which artifacts will change together with the artifact they are working on. In the past, researchers relied on structural analysis to build prediction models. More recently, hybrid approaches relying on historical information and textual analysis have been proposed. Despite the advances in the area, software developers still do not use these approaches widely, presumably because of the number of false recommendations. We conjecture that the contextual information of software changes collected from issues, developers’ communication, and commit metadata captures the change patterns of software artifacts and can improve the prediction models. Objective: Our goal is to develop more accurate co-change prediction models by using contextual information from software changes. Method: We selected pairs of files based on relevant association rules and built a prediction model for each pair relying on their associated contextual information. We evaluated our approach on two open source projects, namely Apache CXF and Derby. Besides calculating model accuracy metrics, we also performed a feature selection analysis to identify the best predictors when characterizing co-changes and to reduce overfitting. Results: Our models presented low rates of false negatives (∼8% average rate) and false positives (∼11% average rate). We obtained prediction models with AUC values ranging from 0.89 to 1.00 and our models outperformed association rules, our baseline model, when we compared their precision values. Commit-related metrics were the most frequently selected ones for both projects. On average, 6 out of 23 metrics were necessary to build the classifiers. Conclusions: Prediction models based on contextual information from software changes are accurate and, consequently, they can be used to support software maintenance and evolution, warning developers when they miss relevant artifacts while performing a software change. 2017-06-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8798 info:doi/10.1016/j.jss.2016.07.016 https://ink.library.smu.edu.sg/context/sis_research/article/9801/viewcontent/jss17.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Contextual information Co-change prediction Software change context Change coupling Change propagation Change impact analysis Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Contextual information
Co-change prediction
Software change context
Change coupling
Change propagation
Change impact analysis
Software Engineering
spellingShingle Contextual information
Co-change prediction
Software change context
Change coupling
Change propagation
Change impact analysis
Software Engineering
WIESE, Igor Scaliante
RÉ, Reginaldo
STEINMACHER, Igor
KURODA, Rodrigo Takashi
OLIVA, Gustavo A.
TREUDE, Christoph
GEROSA, Marco Aurélio
Using contextual information to predict co-changes
description Background: Co-change prediction makes developers aware of which artifacts will change together with the artifact they are working on. In the past, researchers relied on structural analysis to build prediction models. More recently, hybrid approaches relying on historical information and textual analysis have been proposed. Despite the advances in the area, software developers still do not use these approaches widely, presumably because of the number of false recommendations. We conjecture that the contextual information of software changes collected from issues, developers’ communication, and commit metadata captures the change patterns of software artifacts and can improve the prediction models. Objective: Our goal is to develop more accurate co-change prediction models by using contextual information from software changes. Method: We selected pairs of files based on relevant association rules and built a prediction model for each pair relying on their associated contextual information. We evaluated our approach on two open source projects, namely Apache CXF and Derby. Besides calculating model accuracy metrics, we also performed a feature selection analysis to identify the best predictors when characterizing co-changes and to reduce overfitting. Results: Our models presented low rates of false negatives (∼8% average rate) and false positives (∼11% average rate). We obtained prediction models with AUC values ranging from 0.89 to 1.00 and our models outperformed association rules, our baseline model, when we compared their precision values. Commit-related metrics were the most frequently selected ones for both projects. On average, 6 out of 23 metrics were necessary to build the classifiers. Conclusions: Prediction models based on contextual information from software changes are accurate and, consequently, they can be used to support software maintenance and evolution, warning developers when they miss relevant artifacts while performing a software change.
format text
author WIESE, Igor Scaliante
RÉ, Reginaldo
STEINMACHER, Igor
KURODA, Rodrigo Takashi
OLIVA, Gustavo A.
TREUDE, Christoph
GEROSA, Marco Aurélio
author_facet WIESE, Igor Scaliante
RÉ, Reginaldo
STEINMACHER, Igor
KURODA, Rodrigo Takashi
OLIVA, Gustavo A.
TREUDE, Christoph
GEROSA, Marco Aurélio
author_sort WIESE, Igor Scaliante
title Using contextual information to predict co-changes
title_short Using contextual information to predict co-changes
title_full Using contextual information to predict co-changes
title_fullStr Using contextual information to predict co-changes
title_full_unstemmed Using contextual information to predict co-changes
title_sort using contextual information to predict co-changes
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/8798
https://ink.library.smu.edu.sg/context/sis_research/article/9801/viewcontent/jss17.pdf
_version_ 1814047533117210624