Hi, Hadoop Community.

My name is Igor Wiese, phd Student from Brazil. I am investigating two
important questions: What makes two files change together? Can we predict
when they are going to co-change again?

I've tried to investigate this question on the Hadoop project. I've
collected data from issue reports, discussions and commits and using some
machine learning techniques to build a prediction model.

I collected a total of 950 commits in which a pair of files changed
together and could correctly predict 47% commits. These were the most
useful information for predicting co-changes of files:

- sum of number of lines of code added, modified and removed,

- number of words used to describe and discuss the issues,

- median value of closeness, a social network measure obtained from issue
comments,

- median value of constraint, a social network measure obtained from issue
comments, and

- median value of hierarchy, a social network measure obtained from issue
comments.

To illustrate, consider the following example from our analysis. For
release 0.22, the files "/ipc/Client.java" and "security/SecurityUtil.java"
changed together in 3 commits. In another 1 commit, only the first file
changed, but not the second. Collecting contextual information for each
commit made to first file in the previous release, we were able to predict
2 commits in which both files changed together in release 0.22, and we only
issued 1 wrong prediction. For this pair of files, the most important
contextual information were the social network metrics (density, hierarchy,
efficiency) obtained from issue comments.

- Do these results surprise you? Can you think in any explanation for the
results?

- Do you think that our rate of prediction is good enough to be used for
building tool support for the software community?

- Do you have any suggestion on what can be done to improve the change
recommendation?

You can visit our webpage to inspect the results in details:
http://flosscoach.com/index.php/17-cochanges/70-hadoop

All the best,
Igor Wiese
Phd Candidate

Reply via email to