arrow
Return

Using contextual information to predict co-changes

delete2017-06-01
delete15
delete
OA
AI
I
Igor Wiese *
R
Reginaldo Ré
I
Igor Steinmacher
R
Rodrigo Takashi Kuroda
G
Gustavo A. Oliva
C
Christoph Treude
M
Marco Aurélio Gerosa
DOI:10.1016/j.jss.2016.07.016delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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 meta-data 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 (similar to 8% average rate) and false positives (similar to 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. (C) 2016 Elsevier Inc. All rights reserved.
Keywords:
Contextual information
Co-change prediction
Software change context
Change coupling
Change propagation
Change impact analysis
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.5K
Citations:
8.4K

Organization

U
universidade tecnologica federal do parana
Scholars:
4.9K
Papers: 3.4K
Citations: 1
U
universidade de sao paulo
Scholars:
10.6W
Papers: 6.7W
Citations: 93
Cited Papers

Cited Papers

A Systematic Literature Review on Fault Prediction Performance in Software Engineering
err2012-11-01
err772
errOAAI
errHall, Tracy; Beecham, Sarah; Bowes, David; Gray, David; Counsell, Steve
errShare
errSave
How changes affect software entropy: an empirical study
err2012-07-14
err49
PREAI
errCanfora, Gerardo; Cerulo, Luigi; Cimitile, Marta; Di Penta, Massimiliano
errShare
errSave
Mining version histories to guide software changes
err2005-06-01
err469
PREAI
errZimmermann, T; Weissgerber, P; Diehl, S; Zeller, A
errShare
errSave
Software fault prediction metrics: A systematic literature review
err2013-08-01
err355
PREAI
errRadjenovic, Danijel; Hericko, Marjan; Torkar, Richard; Zivkovic, Ales
errShare
errSave
errShare
errSave
Software Dependencies, Work Dependencies, and Their Impact on Failures
err2009-11-01
err171
PREAI
errCataldo, Marcelo; Mockus, Audris; Roberts, Jeffrey A.; Herbsleb, James D.
errShare
errSave
Predicting source code changes by mining change history
err2004-09-01
err359
errOAAI
errYing, ATT; Murphy, GC; Ng, R; Chu-Carroll, MC
errShare
errSave
researcher View more