7 CONCLUSIONS
This paper tries to find out whether or not change
coupling has a relationship with the origin of bugs
known as fix-inducing changes from source reposi-
tories rather than considering bugs from bug reposi-
tories like (D’Ambros et al., 2009). For this, change
coupling measures and FICs are collected from the
source repository of Google Guava. This is done by
considering a commit window of 100 commits and
traversing the history using the version control sys-
tem git. To analyze their relationship, both correlation
and regression analysis is performed. It is seen from
the obtained results that recent change coupling mea-
sures are more correlated with errors rather than con-
sidering total relation. By considering the explana-
tory power for predicting erroneous changes within
the commit window, the use of recent change cou-
pling measures seemed to improve the model as it rep-
resents the recent interactions.
The main achievement of this work is to consider
the relationship between FICs a software defect with
change coupling measures. This analysis is based
on Google Guava repository and by considering FICs
within 100 commits of the commit window, so the
obtained results seem to show moderate and weaker
relation. To address this issue more repositories will
be explored and commit window of different size will
be taken in the future to strengthen the claim. Re-
cently, from analysis, it is observed that total fix-
inducing changes obtained from all commits under
observation correlates strongly with the change cou-
pling measures used in this study.
Various works are possible from the relationship
between change coupling and fix-inducing changes.
These may include prediction, automatic bug fixing,
analyzing change impact and others. However, in fu-
ture works focus will be given on finding how this re-
lationship is influenced by considering different confi-
dence level and size of commits. Besides, this work is
based on java projects and in future projects of other
programming languages will be analyzed to find the
actual difference.
ACKNOWLEDGMENT
This research is supported by the fellowship from
ICT Division, Ministry of Posts, Telecommunica-
tions and Information Technology, Bangladesh. No-
56.00.0000.028.33.002.19.3; Dated 09.01.2019.
REFERENCES
Antoniol, G., Ayari, K., Di Penta, M., Khomh, F., and
Gu
´
eh
´
eneuc, Y.-G. (2008). Is it a bug or an enhance-
ment?: a text-based approach to classify change re-
quests. In Proceedings of the 2008 conference of the
center for advanced studies on collaborative research:
meeting of minds, page 23. ACM.
Antoniol, G., Rollo, V. F., and Venturi, G. (2005). Detect-
ing groups of co-changing files in CVS repositories.
In 8th International Workshop on Principles of Soft-
ware Evolution (IWPSE 2005), 5-7 September 2005,
Lisbon, Portugal, pages 23–32.
Arisholm, E., Briand, L. C., and Foyen, A. (2004). Dy-
namic coupling measurement for object-oriented soft-
ware. IEEE Transactions on software engineering,
30(8):491–506.
Aversano, L., Cerulo, L., and Del Grosso, C. (2007). Learn-
ing from bug-introducing changes to prevent fault
prone code. In Ninth international workshop on Prin-
ciples of software evolution: in conjunction with the
6th ESEC/FSE joint meeting, pages 19–26. ACM.
Bird, C., Bachmann, A., Aune, E., Duffy, J., Bernstein,
A., Filkov, V., and Devanbu, P. (2009). Fair and bal-
anced?: bias in bug-fix datasets. In Proceedings of
the the 7th joint meeting of the European software
engineering conference and the ACM SIGSOFT sym-
posium on The foundations of software engineering,
pages 121–130. ACM.
Chidamber, S. R. and Kemerer, C. F. (1994). A metrics
suite for object oriented design. IEEE Transactions
on software engineering, 20(6):476–493.
D’Ambros, M., Lanza, M., and Robbes, R. (2009). On
the relationship between change coupling and soft-
ware defects. In 16th Working Conference on Reverse
Engineering, WCRE 2009, 13-16 October 2009, Lille,
France, pages 135–144.
Diffj (2018). https://github.com/jpace/diffj.
Doe, R. (2009). Guava repository from github. https:
//github.com/google/guava.
Fab
´
ok, Z. (2012). Learn more about the history of a line
with git blame. https://zsoltfabok.com/blog/2012/02/
git-blame-line-history/.
Fluri, B. and Gall, H. C. Classifying change types for quali-
fying change couplings. In 14th International Confer-
ence on Program Comprehension (ICPC 2006), pages
= 35–45, year = 2006, bibsource = dblp computer sci-
ence bibliography, https://dblp.org.
Fukushima, T., Kamei, Y., McIntosh, S., Yamashita, K., and
Ubayashi, N. (2014). An empirical study of just-in-
time defect prediction using cross-project models. In
11th Working Conference on Mining Software Repos-
itories, MSR 2014, Proceedings, May 31 - June 1,
2014, Hyderabad, India, pages 172–181.
Geipel, M. M. and Schweitzer, F. (2012). The link between
dependency and cochange: Empirical evidence. IEEE
Transactions on Software Engineering, 38(6):1432–
1444.
Herzig, K. and Zeller, A. (2013). The impact of tangled
code changes. In Proceedings of the 10th Working
ENASE 2019 - 14th International Conference on Evaluation of Novel Approaches to Software Engineering
500