REPERSP: Recommending Personalized Software Projects on GitHub

Abstract

In the open source community such as GitHub, developers usually need to find projects similar to their work, with the aim to reuse their functions and explore ideas of features that could be possibly added into their project at hand. Traditional text search engine can help detect similar resources. However, it is difficult for developers to use in open source community because a few query words cannot describe the whole features of a project. In this paper, we present a practical software recommendation system, REPERSP, which is used to recommend personalized software projects in GitHub. According to the features of projects created by developers and their behavior to other known projects, REPERSP recommends the top N relevant and personalized software projects. Moreover, REPERSP is implemented with the MapReduce parallel processing frame – Apache Spark for large-scale data, which can be scaled to a large number of users and projects for practical usage. Empirical results show that REPERSP can recommend more accurate results compared with other two recommendation algorithms, i.e., UserCF (user collaborative filtering) and ItemCF (item collaborative filtering). Video of our demo is available at https://youtu.be/WKigSUV4UA0.

Publication
2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)