New developer metrics for open source software development challenges: An empirical study of project recommendation systems

Creative Commons License

Şeker A., Arslan H., Diri B.

APPLIED SCIENCES-BASEL, vol.11, no.3, pp.1-26, 2021 (Journal Indexed in SCI Expanded)

  • Publication Type: Article / Article
  • Volume: 11 Issue: 3
  • Publication Date: 2021
  • Title of Journal : APPLIED SCIENCES-BASEL
  • Page Numbers: pp.1-26


Software collaboration platforms where millions of developers from diverse locations can contribute to the common open source projects have recently become popular. On these platforms, various information is obtained from developer activities that can then be used as developer metrics to solve a variety of challenges. In this study, we proposed new developer metrics extracted from the issue, commit, and pull request activities of developers on GitHub. We created developer metrics from the individual activities and combined certain activities according to some common traits. To evaluate these metrics, we created an item-based project recommendation system. In order to validate this system, we calculated the similarity score using two methods and assessed top-n hit scores using two different approaches. The results for all scores with these methods indicated that the most successful metrics were binary_issue_relatedissue_commentedbinary_pr_related, and issue_opened. To verify our results, we compared our metrics with another metric generated from a very similar study and found that most of our metrics gave better scores that metric. In conclusion, the issue feature is more crucial for GitHub compared with other features. Moreover, commenting activity in projects can be equally as valuable as code contributions. The most of binary metrics that were generated, regardless of the number of activities, also showed remarkable results. In this context, we presented improvable and noteworthy developer metrics that can be used for a wide range of open-source software development challenges, such as user characterization, project recommendation, and code review assignment.